inblog logo
|
DailyCoding
    JAVA

    5. 컴파일(Compile)

    박은서's avatar
    박은서
    Dec 02, 2025
    5. 컴파일(Compile)
    Contents
    1. 컴파일(Compile)1️⃣ 컴파일이란?2️⃣ 컴파일이 필요한 이유3️⃣ 컴파일 과정의 전체 흐름2. Java 컴파일1️⃣ 실행 순서필기 정리

    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
    Contents
    1. 컴파일(Compile)1️⃣ 컴파일이란?2️⃣ 컴파일이 필요한 이유3️⃣ 컴파일 과정의 전체 흐름2. Java 컴파일1️⃣ 실행 순서필기 정리

    DailyCoding

    RSS·Powered by Inblog