1. 컴파일(Compile)
1️⃣ 컴파일이란?
사람이 작성한 소스코드를 컴퓨터가 이해할 수 있는 기계어 형태로 변환하는 과정
2️⃣ 컴파일이 필요한 이유
- 사람 → 고급 언어 (C, Java, Python 등)
- 컴퓨터 → 0과 1(기계어)만 이해
👉 번역 과정이 반드시 필요함 → 그게 컴파일
3️⃣ 컴파일 과정의 전체 흐름
소스 코드 ↓ 컴파일러 ↓ 기계어(또는 바이트코드) ↓ 실행 파일 또는 중간 파일
2. Java 컴파일
1️⃣ 실행 순서
1) .java 파일 작성
개발자가 소스코드를 작성함
예:
Hello.javapublic 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 로딩 → 실행 엔진이 실행 → 결과 출력
필기 정리

Share article