5. 컴파일(Compile)

박은서's avatar
Dec 02, 2025
5. 컴파일(Compile)

1. 컴파일(Compile)

1️⃣ 컴파일이란?

사람이 작성한 소스코드를 컴퓨터가 이해할 수 있는 기계어 형태로 변환하는 과정

2️⃣ 컴파일이 필요한 이유

  • 사람 → 고급 언어 (C, Java, Python 등)
  • 컴퓨터 → 0과 1(기계어)만 이해
👉 번역 과정이 반드시 필요함 → 그게 컴파일

3️⃣ 컴파일 과정의 전체 흐름

소스 코드 ↓ 컴파일러 ↓ 기계어(또는 바이트코드) ↓ 실행 파일 또는 중간 파일
 

2. Java 컴파일

1️⃣ 실행 순서

1) .java 파일 작성

개발자가 소스코드를 작성함
예: Hello.java
public class Hello { public static void main(String[] args) { System.out.println("Hello"); } }

2) javac(자바 컴파일러)가 소스코드 컴파일

javac Hello.java
  • 문법 오류 체크
  • 소스코드를 JVM이 이해할 수 있는 바이트코드(.class 파일) 로 변환
➡️ 결과 : Hello.class 생성 (저장하는 순간 생성)

3) JVM의 Class Loader가 .class 파일을 로드

  • 필요한 클래스를 메모리로 올림
  • 연결(Linking) 작업 수행
    • 검증(Verify)
    • 준비(Prepare)
    • 해석(Resolve)

4) 실행 엔진(Execution Engine)이 바이트코드를 실행

실제 프로그램이 돌아가는 단계
  • 인터프리터: 한 줄씩 해석
  • JIT 컴파일러: 자주 쓰는 부분을 기계어로 바꿔 속도 향상

5) OS에서 결과 출력

프로그램이 정상 동작하여 사용자가 결과를 보게 됨

한 줄 정리

.java 작성 → javac로 컴파일(.class 생성) → JVM 로딩 → 실행 엔진이 실행 → 결과 출력
 

필기 정리

notion image
Share article