자바가 공개되었을 당시, 자바는 한 번 작성하면 어느 운영체제에서든지 실행할 수 있다는 막강한 장점으로 많은 개발자들을 끌어모았다.
과거에는 운영체제별로 프로그램을 다르게 짜야 했다. 하지만 컴퓨터에 자바 가상 머신만 설치되어 있다면, 자바 프로그램은 어디서든지 실행 가능하다.
자바의 작동 과정
1. 소스 코드
- java 언어로 소스 코드 파일을 작성한다. 파일의 확장자는
.java
이다.
2. 컴파일
- javac(자바 컴파일러)를 실행해서 java 파일을 컴파일한다.
- 컴파일러는 문법상 오류가 있는지 확인한다.
3. 바이트 코드
- 컴파일 단계에서 오류가 없다면 class 파일을 생성한다. 파일의 확장자는
.class
이다. - class 파일은 ‘바이트코드’로 이뤄져 있다.
4. JVM
- JVM(자바 가상 머신)을 통해 class 파일을 실행한다.
- JVM은 바이트코드를 해당 운영체제에서 이해할 수 있는 형태로 해석한다.
메모장으로 직접 자바 실행해보기
이클립스나 인텔리제이와 같은 IDE가 있어야만 java 프로그램을 만들 수 있는 게 아니다.
컴퓨터에 자바가 깔려있다면, 메모장만 있어도 java 프로그램을 만들 수 있다!
과정이 아주 간단하므로 바로 따라해봐도 좋다.
1. 소스 코드 작성하기
메모장을 켜서 아주 간단한 java 파일을 만들어보자.
지정된 문자열을 출력하고 종료되는 단순한 프로그램이다.
2. 자바 컴파일러로 컴파일하기
해당 파일이 있는 곳에서 cmd 창을 켜고 javac 파일명.java
를 실행한다.
앞서 언급했듯, javac는 자바 컴파일러 애플리케이션이다.
그럼 java 파일을 컴파일한 결과인 class 파일이 생성된다.
이로써 자바 코드가 바이트 코드로 변환되었다.
소스 코드는 프로그래머가 이해할 수 있는 고급 언어라면, 바이트 코드는 가상머신이 이해할 수 있는 중간 단계의 언어이다. 참고로 기계가 이해할 수 있는 언어는 저급 언어라고 부르며 기계어와 어셈블리어가 있다.
3. 실행하기
클래스 파일이 위치한 곳에서 cmd 창을 열고 java 파일명
을 입력한다.
그럼 내부적으로 JVM이 컴퓨터에 깔린 운영체제를 고려하여 바이트 코드를 컴퓨터가 이해할 수 있는 언어로 변환하여 프로그램을 실행시킨다.
소스 코드에서 작성한 것처럼 문자열이 잘 출력됐다.
자바의 작동 방식
- 소스 코드 : java 언어로 소스 코드를 작성한다. (.java)
- 컴파일 : 컴파일러로 소스 코드를 바이트 코드로 변환한다.
- 바이트 코드 : 바이트 코드는 가상 머신이 이해할 수 있는 언어이다. (.class)
- JVM : 바이트 코드를 각 운영체제에 맞게 변환하여 프로그램을 실행한다.