티스토리 뷰

자바(JAVA)는 어떤 식으로 동작하나?

무슨 변덕이 불었는지 자바(JAVA) 책을 하나 읽고 있다. 딱히 어떤 목표가 아니니 만큼 교양서적 읽는 정도로 가볍게 보고 있다. 사실 프로그래밍 책 만큼 흥미진진한 소설도 없다(?). 읽다가 정리 차원에서 몇자 적어 볼까한다. 초보이니 만큼 전체적으로 지식이 아주 얇다. 거기에 오류도 많다. 혹시나 참조할 사람은 그냥 가볍게 소설을 읽는 기분으로 보면 될 듯하다.

자바(JAVA) 소스가 사용자에게 사용되기 까지의흐름

자바(JAVA) 소스코드를 우선 만들어야 겠지. 그런다음 컴파일을 한다. 그러면 바이트코드(bytecode)란 녀석이 나오는데 이 놈은 자바 가상머신(JVM : Java Virtual Machine)이란 놈 위에서 실행되게 된다. 이후 사용자는 "Hello World!"란 멋진 문구를 보게되는거지. 왜 이렇게 했냐면 만약 내가 아주 아주 힘들게 작성한 프로그램이 하나 있다고 치자. 한 100년 정도 걸려서 만들었다. 그런데 이건 윈도우 운영체제에서만 동작하는거다. 그런데 갑자기 스티브잡스가 뜨면서 사람들이 전부 맥OS로 이동하는거다. 뭥미~ 둘은 호환이 안되는데 어떡하지?그래서 다시 100년 동안 프로그래밍 해야 했다는 슬픈 전설이 있다.

이런슬픈 스토리를 안 만들려면 디바이스에 독립적인 뭔가가 필요하게 된것이다. 우리가 구현하고자 하는 원시 코드 하나, 원시 코드를 원하는 플랫폼이 이해할 수 있는 형태로 통역해줄 녀석 하나 그리고 해당 플랫폼 이렇게 3개로 분리해 놓으면 새로운 플랫폼이 나오면 플랫폼에 대한 해석 부분만 개발해주면 기존에 개발된 모든 프로그램을 이용할 수 있게 되는거지. 오~ 좋구나~