728x90
컴파일러와 인터프리터는 프로그램을 실행하는 두 가지 방식인데, 각각의 특징과 장단점을 이해하면 어떤 상황에 어떤 언어를 쓰면 좋을지 감이 잡혀요. 아래 표로 쉽게 정리해볼게요:
🧾 컴파일러 vs 인터프리터 방식 비교표
항목 🛠 컴파일러 방식 🔍 인터프리터 방식
작동 방식 | 전체 코드를 한 번에 번역해 실행 파일 생성 | 코드를 한 줄씩 읽고 바로 실행 |
실행 속도 | 빠름 (기계어로 변환된 후 실행) | 느림 (실행할 때마다 해석 필요) |
디버깅 | 어려움 (에러가 한꺼번에 나옴) | 쉬움 (에러가 발생한 줄에서 바로 확인 가능) |
메모리 사용량 | 적음 (기계어 실행) | 많음 (해석 과정에서 메모리 더 사용) |
개발 속도 | 느림 (컴파일 후 실행해야 함) | 빠름 (코드 수정 후 바로 실행 가능) |
보안성 | 높음 (기계어로 배포되므로 소스코드 숨김 가능) | 낮음 (소스코드가 그대로 노출됨) |
대표 언어 | C, C++, Java | Python, JavaScript, Ruby |
활용 예시 | 게임, 운영체제, 성능 중요한 앱 | 웹 개발, 스크립트, 빠른 테스트용 프로토타입 |
🎮 예시로 이해해보기
- 컴파일러 방식:
마치 게임을 설치하고 나면 바로 실행되는 것처럼, 처음엔 시간이 걸리지만 이후엔 빠르게 작동해요. 예: C로 만든 게임 프로그램 - 인터프리터 방식:
웹사이트에서 자바스크립트가 바로 실행되는 것처럼, 코드를 수정하면 즉시 결과를 볼 수 있어요. 예: Python으로 만든 계산기 앱
필요에 따라 두 방식을 섞어서 쓰기도 해요! 예를 들어 Java는 컴파일해서 바이트코드로 만들고, 그걸 JVM이 인터프리팅해서 실행하거든요.
728x90
'1학년 대학 수업 > C++ 프로그래밍' 카테고리의 다른 글
[C++ 프로그래밍 1 주차] C++과 JAVA의 공통점과 차이점 (0) | 2025.09.04 |
---|---|
[C++ 프로그래밍 1 주차] C++의 역사 (0) | 2025.09.04 |
[C++ 프로그래밍 1 주차] 객체지향 언어란? (0) | 2025.09.04 |
[C++ 프로그래밍 1 주차] AI에게 질문을 하는 방법 (0) | 2025.09.04 |
[C++ 프로그래밍 1 주차] "Hello World" 10 번 반복하기 (0) | 2025.09.04 |