6장 - 클래스 파일 구조
6.2 플랫폼 독립을 향한 초석
세상 모든 컴퓨터의 명령어 집합이 x86 이고 운영체제도 윈도우 뿐이라면 자바라는 언어가 탄생하기 어려웠을 것이다.
자바 탄생 시 내건 구호인 '한 번 작성하면 어디서든 실행된다' 에는 여러 이질적인 플랫폼의 경계를 허물고자 하는 소프트웨어 개발자들의 염원이 잘 표현되어 있다.
자바 가상 머신이 다양한 플랫폼을 지원하고, 모든 가상 머신이 동일한 프로그램 저장 형식(바이트 코드)을 지원한다는 사실이 플랫폼 독립성의 핵심이다. 하지만 최근에는 자바 가상 머신이 제공하는 또 하나의 독립성인 '언어 독립성'이 개발자 사이에서 점점 더 중요하게 여겨지고 있다.
언어 독립성을 보장하는 핵심은 가상 머신과 바이트코드 저장 형식이다. 자바 가상 머신은 바이트 코드에 종속될 뿐 프로그래밍 언어에 종속되지 않는다.
바이트코드 명령어의 표현 능력이 자바 언어 자체보다 뛰어나다. 즉, 자바 언어에서 효과적으로 표현하지 못하는 개념(언어 특성) 도 바이트코드에서는 효과적으로 표현할 수 있다. 이런 식으로 자바가 지원하지 않는 개념이라도 다른 언어에서는 제공할 수 있는 길을 열어 두었다.
Last updated