컴퓨터 과학(Computer Science)

컴파일러(Compiler)와 인터프리터(Interpreter) 차이

Itscool 2021. 8. 6. 10:50

컴파일러(Compiler) 방식

컴파일러는 프로그래밍 언어의 번역기입니다. 컴파일러는 개발자가 입력한 프로그래밍 언어를 실행가능한 머신코드로 변환시켜줍니다. 이 머신코드를 사용자 컴퓨터에서 전달받아 명령어에 맞게 작동하는 구조입니다. 컴파일러는 입력받은 프로그래밍 언어를 한 번에 번역하기 때문에 규모가 큰 프로그램에서는 다소 시간이 소요된다는 단점이 있습니다. 

 

인터프리터(Interpreter) 방식

인터프리터는 프로그래밍 언어의 실행기입니다. 인터프리터는 개발자가 입력한 프로그래밍 언어를 한 줄 씩 실행시켜줍니다. 코드를 한 줄 씩 즉시 실행하기 때문에 개발시간이 짧아진다는 장점을 가지고 있습니다. 인터프리터로 작성된 코드는 번역과정을 거치지 않고 바로 사용자 컴퓨터로 전송하기 때문에 전달받은 사용자 컴퓨터에서 번역을 하게 됩니다. 따라서 실행속도는 컴파일 방식에 비해 느리다는 단점을 가지고 있습니다. 또한 프로그래밍 코드가 그대로 전달되기 때문에 코드가 유출될 가능성도 존재합니다. 

 

컴파일러(Compiler) vs 인터프리터(Interpreter)

  Compiler Interpreter
개발 편의성 코드 수정 후 다시 컴파일 즉시 실행 가능
실행속도 빠름 느림
보안 코드 유출 X 코드 유출될 수 있음
파일 용량 용량 큼 용량 작음
프로그래밍 언어 C, C++ 등의 저레벨에 가까운 언어 Python, Ruby처럼 고레벨에 가까운 언어