컴퓨터의 프로그램을 만드는 방식은 크게 두가지다.
보통 컴파일러나 인터프리터를 사용해서 프로그램을 어떻게 번역할까 의 차이이다.
실행하기 전에 원시코드를 목적코드로 번역해준다.
- 원시 코드(소스 코드)
- 고급 프로그래밍 언어로 작성된 원래의 코드
- 목적 코드
- 저급 프로그래밍 언어로 작성된 실행 가능한 코드
- 주로 다른 프로그램이나 하드웨어가 처리하기에 용이한 형태로 출력
실행 중에 원시 코드를 한줄씩 번역해준다.
하지만? 자바는 둘의 방식을 합쳤다!
정적 컴파일방식과 인터프리트 방식을 혼합한 방식이라 보면된다. javac로 컴파일 하고 java로 실행 시 중간언어(클래스 파일)를 한줄씩 자바 인터프리터가 번역하기에 컴파일 언어 이면서 인터프리터 언어이다.
소스 코드를 미리 컴파일하는 방식이다. c/c++가 이렇죠?