자바는 대표적인 객체지향언어이다. 자바는 다른 언어들과 달리 다른 플랫폼에서도 사용이 가능한 프로그래밍 언어입니다. 왜 만들어졌고 어떻게 작동하는지에 대해 알아보도록 하자.
기존의 언어들로 작성된 프로그래밍 언어들은 플랫폼 간의 호환성이 없었습니다. 재컴파일하지 않고도 다른 플랫폼에서 사용할 수 있는 프로그래밍 언어가 필요했고 자바를 만들어지게 된 것입니다.
자바와 같은 플랫폼의 독립적인 프로그램들은 에뮬레이터와 비슷한 가상 기계로 실행하는 방식으로 호환성을 확보합니다. 이때 에뮬레이터라는 것은 다른 프로그램이나 장치를 모방하는 컴퓨터 프로그램이나 전자기기를 의미합니다. 보통 지원되지 않는 하드웨어에서 소프트웨어를 실행하기 위한 목적으로 사용이 된다.
우리는 자바로 소스 코드(.java)를 만듭니다.
자바 어플리케이션은 JMV(자바 가상 기계) 위에서 실행하게 됩니다.
자바 컴파일러는 이 JMV만 알아들을 수 있는 바이트 코드(.class)로 변환합니다.
이 파일은 우리의 컴퓨터인 CPU에서 직접 실행되는 것이 아니라 JVM이 인터프리터 방식으로 실행시킵니다. 프로그램을 실행시키면 JVM은 각 운영체제에 맞게 바이트 코드를 기계어로 변환합니다.
그렇기에 JVM만 설치가 되어 있다면 모든 컴퓨터에서 독립적으로 코드를 작성할 수 있습니다.
과정을 개발과 실행 부분으로 나누어 다시 살펴보면
플랫폼이란 프로그램이 실행되는 하드웨어와 소프트웨어 환경을 의미합니다. 자바 플랫폼은 JRE(혹은 JDK)만 설치하면 됩니다. 이 자바 플랫폼 위에서 자바 프로그램을 실행하게 됩니다.
자바 플랫폼 안에 자바 가상 머신 말고도 자바 API가 있습니다.
자바 API란 JDK에 포함된 클래스 라이브러리입니다. 미리 주요한 기능들을 구현해놓은 라이브러리입니다. 이 API를 이용해서 쉽고 빠르게 프로그램을 개발할 수 있습니다.
자바는 여러 개발 환경이 있고 그에 따라 다양한 배포판이 주어집니다.
앞으로는 이러한 자바의 특징에 대해 배워볼 것입니다.