본문 바로가기

IT(개발, 보안)/CS 개념

컴파일러(Compiler) VS 인터프리터(Interpreter) 개념

컴파일러와 인터프리터는 모두 프로그래밍 언어를 컴퓨터가 이해할 수 있는 기계어로 변환하는 역할을 수행한다.

 

컴파일러(Compiler)란?

컴파일러는 전체 소스 코드를 한번에 기계어로 변환하고 실행 파일을 생성한다.

 

인터프리터(Interpreter)란?

인터프리터는 소스 코드를 한 줄 씩 읽어가며 즉시 실행한다.

 

장단점

컴파일러의 장점은 실행 속도가 빠르다는 것이다. 전체 소스 코드를 한번에 변환하고 실행 파일을 생성하기 때문에 실행속도가 빠르지만, 디버깅이 어렵다는 단점이 존재한다.

인터프리터는 그와 반대로 디버깅이 쉽다는 것이 장점이다. 소스 코드를 한 줄 씩 읽어가며 즉시 실행하기 때문에 오류가 발생한 위치를 쉽게 찾을 수 있다. 하지만, 실행 속도가 느리다는 단점이 있다.

 

예시

C언어와 Java가 대표적인 컴파일러와 인터프리터 예시이다. C 언어는 컴파일러를 사용하여 전체 소스코드를 한번에 변환해 실행 파일을 생성하고, 반면에 Java는 인터프리터를 사용해 소스 코드를 한 줄 씩 읽어가며 즉시 실행한다.

 

반응형