1학년 대학 수업/C++ 프로그래밍

[C++ 프로그래밍 1 주차] 컴파일러와 인터프리터의 장단점

hawon6691 2025. 9. 4. 15:22
728x90

컴파일러와 인터프리터는 프로그램을 실행하는 두 가지 방식인데, 각각의 특징과 장단점을 이해하면 어떤 상황에 어떤 언어를 쓰면 좋을지 감이 잡혀요. 아래 표로 쉽게 정리해볼게요:


🧾 컴파일러 vs 인터프리터 방식 비교표

항목 🛠 컴파일러 방식 🔍 인터프리터 방식

작동 방식 전체 코드를 한 번에 번역해 실행 파일 생성 코드를 한 줄씩 읽고 바로 실행
실행 속도 빠름 (기계어로 변환된 후 실행) 느림 (실행할 때마다 해석 필요)
디버깅 어려움 (에러가 한꺼번에 나옴) 쉬움 (에러가 발생한 줄에서 바로 확인 가능)
메모리 사용량 적음 (기계어 실행) 많음 (해석 과정에서 메모리 더 사용)
개발 속도 느림 (컴파일 후 실행해야 함) 빠름 (코드 수정 후 바로 실행 가능)
보안성 높음 (기계어로 배포되므로 소스코드 숨김 가능) 낮음 (소스코드가 그대로 노출됨)
대표 언어 C, C++, Java Python, JavaScript, Ruby
활용 예시 게임, 운영체제, 성능 중요한 앱 웹 개발, 스크립트, 빠른 테스트용 프로토타입

🎮 예시로 이해해보기

  • 컴파일러 방식:
    마치 게임을 설치하고 나면 바로 실행되는 것처럼, 처음엔 시간이 걸리지만 이후엔 빠르게 작동해요. 예: C로 만든 게임 프로그램
  • 인터프리터 방식:
    웹사이트에서 자바스크립트가 바로 실행되는 것처럼, 코드를 수정하면 즉시 결과를 볼 수 있어요. 예: Python으로 만든 계산기 앱

필요에 따라 두 방식을 섞어서 쓰기도 해요! 예를 들어 Java는 컴파일해서 바이트코드로 만들고, 그걸 JVM이 인터프리팅해서 실행하거든요.

728x90