• 컴파일 언어
    • 프로그래밍 언어로 작성된 소스 코드를 컴파일러를 통해 한 번에 기계어 또는 중간 코드(Byte Code .class파일임)로 변환한 뒤에 실행하는 방식의 언어
  • 인터프리터 언어
    • 별도의 컴파일 과정 없이 실행 시점에 소스 코드를 한 줄 or 한 구문 씩 해석하면서 바로바로 실행하는 방식의 언어 자바는

JIT Compiler의 존재로 바이트코드중 자주 사용되는 핫코드는 바로 기계어로 번역해두고 쓴다. 즉, 바이트코드는 JVM위한 것, 기계어는 Native OS위한 것

컴파일의 장점

  • 코드 한번 다 훓어보면서 코드 최적화
  • 문제 코드 조기 발견 자유도 조금 희생되더라도 버그를 미연에 방지