DEVLOG

[Java] Compiler vs Interpreter 본문

Java

[Java] Compiler vs Interpreter

BINTHEWORLD 2022. 8. 10. 22:24

컴파일러 언어 (C, C++)

  • 기계가 이해할 수 있는 바이트 코드로 컴파일 작업이 요구되는 언어
  • 모든 코드를 한 번에 컴파일(번역)하고, 한 번에 실행한다.
  • 한 번 번역해두면 빌드(소스파일을 실행파일로 생성하는 것) 과정에서는 시간이 소요되지만, 런타임 상황에서는 이미 기계어로 변환되어 있기 때문에 실행 속도가 빠르다.
  • 단순 수정을 할 때 새로 컴파일 해야 한다.
  • 실행 전 오류를 확인할 수 있다.

인터프리터 언어 (JavaScript, Python, Ruby)

  • 한 줄씩 읽으면서 컴퓨터가 이해할 수 있는 이진 코드로 번역한 후 실행하는 언어
  • 한 줄씩 읽어서 실행하므로 번역(JVM), 실행(CPU)이 동시에 일어난다.
  • 한 줄씩 읽어서 실행하므로 실행 속도가 느리다.
  • 컴파일러처럼 바이트 코드를 생성하지 않아 메모리 효율이 좋다. 
  • 실행 후 오류를 확인할 수 있다.

하이브리드 언어 (Java)

  • 컴파일러와 인터프리터 혼용방식

'Java' 카테고리의 다른 글

[Java] String / StringBuffer / StringBuilder  (0) 2022.08.10
[Java] JRE와 JDK  (0) 2022.08.10
[Java] 형변환  (0) 2022.08.04
[Java] 유니코드 인코딩  (0) 2022.08.04
[Java] Java SE 와 Java EE 차이점  (0) 2022.08.04
Comments