컴파일러와 인터프리터의 차이가 뭔가요?


제가 친구랑 얘기를하다가 들었는데 자바는 인터프리터 언어고 C는 컴파일러 언어라는데 인터프리터와 컴파일러의 차이점은 뭔가요? 비교해서 가르쳐주시면 좋겠어요.

  • 2016년 02월 04일에 작성됨

조회수 408


1 답변


좋아요
0
싫어요
채택취소하기

컴파일러

고급언어로 쓰여진 프로그램이 컴퓨터에서 수행되기 위해서는 컴퓨터가 직접 이해할 수 있는 언어로 바꾸어 주어야 합니다. 이러한 일을 하는 프로그램을 컴파일러라고 합니다. 번역과 실행 과정을 거쳐야 하기 때문에 번역 과정이 번거롭고 번역 시간이 오래 걸리지만, 한번 번역한 후에는 다시 번역하지 않으므로 실행 속도가 빠릅니다.

인터프리터

소스 프로그램을 한번에 기계어로 변환시키는 컴파일러와는 달리 프로그램을 한 단계씩 기계어로 해석하여 실행하는 ‘언어처리 프로그램’입니다. 줄 단위로 번역, 실행되기 때문에 시분할 시스템에 유용하며 원시 프로그램의 변화에 대한 반응이 빠릅니다. 한 단계씩 테스트와 수정을 하면서 진행시켜 나가는 대화형 언어에 적합하지만, 실행 시간이 길어 속도가 늦다는 단점이 있습니다. 프로그램이 직접 실행되므로 목적 프로그램이 생성되지 않는다.

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

컴파일러 인터프리터
번역단위 전체 한줄씩
실행속도 빠름 느림
번역속도 느림 빠름
목적 프로그램 생성함 생성하지않음
메모리 할당 목적프로그램 생성시 사용 사용 안함
  • 2016년 02월 04일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close