본문 바로가기
프로그래밍 언어/기초

[프로그래밍] 컴파일러 VS 인터프리터

by DGDD(Developer) 2023. 7. 14.

컴파일러와 인터프리터는 고급언어로 작성된 Source Program을 Object Program으로 번역하는 번역 프로그램을 말합니다. 두 가지는 프로그램을 번역 하는 방식에 따라 구분됩니다.

 

컴파일러

컴파일러는 고급 언어로 작성된 프로그램 전체를 목적 프로그램으로 번역한 후, 링킹 작업을 통해 컴퓨터에서 실행 가능한 프로그램을 생성합니다. 

 

- 장점 : 단 한번의 번역 후에는 다시 번역하지 않으므로 실행 속도가 빠릅니다.

- 단점 : 프로그램 전체를 번역한 후 실행하기 때문에 번역 시간이 오래 걸립니다.

 

위와 같은 컴파일러 방식을 사용하는 대표적인 언어로는 C 와 JAVA 등이 있습니다.

 

인터프리터

인터프리터는 고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고, 번역과 동시에 프로그램을 즉시 실행시킵니다.

 

- 장점 : 프로그램을 줄 단위로 번역 실행하기 때문에 Soruce의 변화에 대한 반응이 빠릅니다.

- 단점 : 번역 속도는 빠르지만 프로그램 실행 시 매번 번역이 필요하므로 실행 속도는 느립니다. 

 

위와 같은 인터프리터 방식을 사용하는 대표적인 언어에는 Python, JavaScript, Basic 등이 있습니다.

 

인터프리터 와 컴파일러의 차이점

구분 인터프리터 컴파일러
번역단위 줄 단위 전체
Object Program X O
번역 속도 빠름 느림
실행 속도 느림 빠름