결론부터 말하자면 고급언어를 낮은 수준의 언어로 바꿔주는 일을 컴파일 이라고 합니다. 그리고 그 컴파일이라는 작업은 컴파일러가 해주는 것이구요.
그럼 고급언어가 뭐고, 낮은 수준의 언어가 뭘까요?
고급언어는 사람이 이해하기 쉬운 언어입니다.
낮은 수준의 언어는 cpu(컴퓨터)가 이해하기 쉬운 언어입니다.
그렇다고 ❗낮은 수준의 언어가 기계어인 것은 아닙니다.❗
자바라는 언어도 컴파일 과정을 거칩니다.
자바를 사용할 수 있는 툴(저는 eclipse를 사용합니다)을 사용해서 한참 코드를 작성하고 저장을 하는 순간!
2가지 파일(.java, .class)이 생성됩니다.
낮은 수준의 언어를 기계어로 바꿔주는 일을 인터프리트라고 합니다. 그리고 그 인터프리트라는 작업은 인터프리터가 해주는 것이구요.
자바는 컴파일도 하지만 인터프리트도 합니다.
.class파일을 기계어로 변역해서 cpu에게 가져다주죠.
자바를 보통 컴파일러 언어라고 많이 이야기를 하는데
자바는 둘 다 합니다.
컴파일도 하고, 인터프리트도 하고.
그래서 저는 자바를 하이브리드 언어라고 이야기 하고 싶습니다.