가치 있는 삶

자바 프로그램을 개발하려면 가장 먼저 소스 파일을 작성해야 하는데, 소스 파일은 확장명 .java로 된 텍스트 파일로서, 이렇게 만들어진 파일을 자바 소스 파일이라고 한다. Welcome 이라는 문자열을 출력하는 프로그램을 개발한다고 했을 때 가장 먼저 해야 할 일이 Welcome.java 라고 하는 소스 파일을 작성이다. 그 다음으로 컴파일을 하게 되는데, javac.exe로 컴파일을 하게 되면 확장명이 .class인 바이트 코드 파일이 생성된다.  


바이트 코드 파일( .class) 생성 과정을 간략하게 알아보면 첫째, 소스 파일 Welcome.java(코드 작성) 생성한다. 둘째, javac Welcome.java 입력하고 javac.exe(컴파일러)로 컴파일 한다. 셋째, 컴파일의 결과로 Welcome.class 라는 바이트 코드 파일( .class)이 생성된다.


바이트 코드 파일(Welcome.class)은 완전한 기계어가 아니기 때문에 단독으로 실행할 수 없다. JVM이라고 하는 자바 가상 기계로 실행되어야 하는데 이때, JVM(자바 가상 기계)을 구동시키는 명령어는 java.exe이다. Welcome.class라고 하는 바이트 코드 파일을 java.exe로 실행하기 위해서는 명령 프롬프트에서 java Welcome 이라고 입력하고 'Enter'키를 클릭하면 된다. 이때 주의할 점은 'Welcome.class' 바이트 코드 파일을 실행할 때는 .class 확장명을 제외한 이름을 입력해야 한다. java.exe 명령어가 실행되면 JVM(자바 가상 기계)는 바이트 코드 파일(Welcome.class)을 메모리로 로드하여 최적의 기계어로 번역하고 실행한다.




자바(Java)는 2단계 컴파일 과정을 가진다고 할 수 있다. 첫번째 과정은 자바 소스 파일( .java)을 컴파일러(javac.exe)로 컴파일 해서 바이트 코드 파일( .class)을 생성하는 단계 , 두번째 과정은 바이트 코드 파일( .class)을 자바 가상 기계(JVM)가 해석하여 OS(운영체제)에서 이해할 수 있는 완전한 기계어를 만들어 내는 것을 말한다.





자바(Java)가 2단계 컴파일을 거치는 이유는 바이트 코드 파일( .class)을 OS(운영체제)와 상관없이 개발하여  Windows, Mac, 리눅스 등 다양한 운영체제에서 실행하기 위함이다. Windows에서 JDK를 설치하면 Windows용 JVM이, Mac에서 JDK를 설치하면 Mac용 JVM이, 리눅스에서 JDK를 설치하면 리눅스용 JVM이 설치된다. 설치된 JVM은 운영체제와 밀접하게 연결되어 있는데, 각 운영체제와 종속적인 상호 관계에 있다고 할 수 있다.


자바 소스 파일 작성하고 실행해 보기


메모장을 실행하여 파일 - 다른이름으로 저장을 순서대로 실행한다. 이때 저장 위치를 C:\Temp로 변경하면 되는데 C:\Temp 디렉토리가 없다면 새로 생성하여 파일 이름을 "Hi.java"로 하여 저장한 후에 아래와 같이 자바 소스 파일을 작성하고 저장한다.

1. public class Hi {
2.    public static void main(String[ ] arg) }   
3.       System.out.println("Hi, welcome to the java world!");
4.     }
5. }

소스 파일을 작성할 때는  다음과 같은 사항들을 주의해야 한다.
첫째, 1번에서 Hi의 H가 대문자로 작성되어야 한다(파일명과 대소문자가 일치해야 한다)
둘째, 2번에서 String의 S가 대문자로 작성되어야 한다.
셋째, 3번에서 System의 S가 대문자로 작성되어야 한다.
넷째, 3번에서 세미콜론(;)을 붙인다.

명령 프롬프트에서 실습해보기

1. 명령 프롬프트를 열고 C:\Users\user>cd C:\Temp를 입력하고 C:\Temp로 이동한다. 
   이때 cd를 입력하는 것은 C:\Users\user 디렉토리에서 \Temp 디렉토리로 이동하기 위함이다. 
2. C:\Temp>에서 dir 명령어를 실행하여 "Hi.java" 소스 파일이 작성된 것을 확인한다.
3.  생성된 "Hi.java" 소스 파일을 컴파일 하기 위해 C"\Temp>javac Hi java와 같이 입력 후 실행한다.
4. Hi.class(바이트 코드 파일)를 실행하기 위해  JVM 구동명령어인 java.exe를 C"\Temp>java Hi와 같이 입력하고 실행한다.


프로그램을 실행할 때 주의할 점은 java Hi.class와 같이 바이트 코드 확장명을 포함하면 안 된다는 것과 바이트 코드 파일명과 대소문자가 일치해야 한다는 것이다.