3. 컴파일러(Compiler) 와 인터프리터(Interpreter)

박은서's avatar
Jan 12, 2026
3. 컴파일러(Compiler) 와 인터프리터(Interpreter)

1. 컴파일러(Compiler)

1️⃣ 컴파일러란?

  • 전체 코드를 기계어로 번역한 뒤 실행
  • 실행 전에 시간이 걸림(컴파일 단계)
  • 실행 속도는 빠름
 

2. 인터프리터(Interpreter)

1️⃣ 인터프리터란?

  • 코드를 한 줄씩 읽으면서 바로 실행
  • 실행 속도가 빠르게 시작됨
  • 하지만 실행 중 반복되는 부분에서 느릴 수 있음
 

3. 자바스크립트

1️⃣ 자바스크립트는 컴파일러? 인터프리터?

자바스크립트는 원래 인터프리터 언어로 유명했지만,
현대 브라우저 엔진에서는 JIT(Just-In-Time) 컴파일 방식을 사용
즉,
코드를 실행하기 전에 필요한 부분을 실시간으로 컴파일하는 방식
자바스크립트는 인터프리터처럼 실행을 시작하지만, 반복되는 코드나 성능이 중요한 부분을 컴파일러가 최적화하는 하이브리드 방식(JIT)을 사용

2️⃣ 자바스크립트 실행 과정 (V8 기준)

  1. 자바스크립트 원본 코드 읽기
  1. 파싱(Parse) → AST(문법 트리) 생성
  1. *인터프리터(Ignition)**가 먼저 실행
  1. 자주 실행되는 코드는
    1. 컴파일러(TurboFan) 가 최적화해서 기계어로 컴파일
  1. 브라우저가 빠르게 실행
즉:
역할
담당
인터프리터
빠르게 실행 시작
컴파일러
반복되는 코드 최적화

3️⃣ 대표 JS 엔진과 구조

엔진
사용 환경
특징
V8
Chrome, Node.js
인터프리터 + JIT 컴파일러
SpiderMonkey
Firefox
최초의 JS 엔진, JIT 지원
JavaScriptCore
Safari
Apple 엔진, JIT 지원

4️⃣ 필기 정리

notion image
Share article