Home

(자바 기초) 자바 프로그램의 컴파일과 실행 과정 완벽 이해하기

Published in java
September 04, 2024
2 min read
(자바 기초) 자바 프로그램의 컴파일과 실행 과정 완벽 이해하기

안녕하세요, 코딩하는곰입니다. 😊
20년 넘게 자바 개발을 해오면서 가장 기초적이면서도 중요한 것이 바로 자바 프로그램의 컴파일과 실행 과정이라고 생각합니다. 오늘은 .java 파일이 어떻게 .class 파일로 변환되고, JVM에서 실행되는지 그 전체 흐름을 자세히 설명드리겠습니다. 특히 초보 개발자분들이 꼭 이해해야 할 핵심 개념들을 쉽게 풀어서 설명해볼게요!

1. 자바 소스 코드(.java) 작성부터 시작하기

자바 프로그램의 여정은 .java 확장자를 가진 소스 코드 파일 작성으로 시작됩니다. 이 단계에서 개발자는 자바 문법에 맞춰 코드를 작성하게 됩니다. 예를 들어 간단한 HelloWorld 프로그램을 만들어보겠습니다.

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Java World!");
}
}

이 코드는 가장 기본적인 자바 프로그램으로, 반드시 알아야 할 몇 가지 핵심 요소를 포함하고 있습니다:

  • public class 선언
  • main 메서드 (자바 프로그램의 시작점)
  • 표준 출력을 위한 System.out.println() 이 .java 파일은 순수한 텍스트 파일이므로 메모장 같은 간단한 텍스트 편집기로도 작성할 수 있습니다. 하지만 실제 개발에서는 IntelliJ IDEA, Eclipse, VS Code 같은 통합 개발 환경(IDE)을 주로 사용합니다.

(자바 기초) 자바 프로그램의 컴파일과 실행 과정 완벽 이해하기
(자바 기초) 자바 프로그램의 컴파일과 실행 과정 완벽 이해하기


2. javac 컴파일러로 .class 파일 생성하기

작성한 .java 파일은 사람이 읽을 수 있는 고수준 언어로 되어 있어, 이를 컴퓨터가 이해할 수 있는 형태로 변환해야 합니다. 이 과정을 ‘컴파일’이라고 하며, JDK에 포함된 javac(자바 컴파일러) 도구가 이 역할을 수행합니다. 컴파일 과정은 다음과 같습니다:

  1. 소스 코드 분석 및 문법 검사
  2. 의미 분석(타입 체크 등)
  3. 바이트코드(.class 파일) 생성 터미널이나 명령 프롬프트에서 다음과 같이 컴파일할 수 있습니다:
javac HelloWorld.java

성공적으로 컴파일되면 HelloWorld.class 파일이 생성됩니다. 이 파일은 플랫폼 독립적인 바이트코드로 구성되어 있으며, JVM이 이해할 수 있는 중간 형태의 코드입니다.

(자바 기초) 자바 프로그램의 컴파일과 실행 과정 완벽 이해하기
(자바 기초) 자바 프로그램의 컴파일과 실행 과정 완벽 이해하기


정확한 시간 기록이 필요한 실험이나 트레이닝에는 실시간 스톱워치 기능을 활용하는 것이 좋습니다.

3. JVM에서 프로그램 실행하기

.class 파일이 생성되면, 이제 java 명령어로 JVM(Java Virtual Machine)에서 프로그램을 실행할 수 있습니다.

java HelloWorld

JVM은 다음과 같은 단계로 프로그램을 실행합니다:

  1. 클래스 로더가 .class 파일을 메모리에 로드
  2. 바이트코드 검증기(Verifier)가 코드 검증
  3. 인터프리터가 바이트코드를 한 줄씩 실행
  4. JIT(Just-In-Time) 컴파일러가 자주 사용되는 코드를 네이티브 코드로 컴파일
  5. 실행 엔진이 실제 프로그램 실행 관리
  6. 가비지 컬렉터가 메모리 관리 이 과정에서 JVM은 플랫폼별로 구현되어 있기 때문에 “Write Once, Run Anywhere” 철학이 실현됩니다. 즉, 한 번 작성한 자바 프로그램은 JVM이 설치된 어떤 운영체제에서도 실행할 수 있습니다.

(자바 기초) 자바 프로그램의 컴파일과 실행 과정 완벽 이해하기
(자바 기초) 자바 프로그램의 컴파일과 실행 과정 완벽 이해하기


블로그나 쇼핑몰 운영자라면 방문자의 IP나 대략적인 위치가 궁금할 수 있습니다. 이럴 땐 내 IP 정보 확인 도구를 활용해보세요.

자바 프로그램의 컴파일과 실행 과정에 대해 알아보았습니다. 이 기본적인 동작 원리를 이해하는 것은 자바 개발자로서 매우 중요합니다. 특히 JVM의 역할과 바이트코드 개념은 자바의 핵심 철학이 담겨있죠.
다음 시간에는 JVM의 내부 구조와 메모리 관리 방식에 대해 더 깊이 있게 다루어보겠습니다. 질문이 있으시면 댓글로 남겨주세요! 코딩하는곰이었습니다. 🐾
[더 읽어보기] 자바 성능 최적화를 원하시면 JIT 컴파일과 가비지 컬렉션 튜닝에 대한 포스팅도 참고해보세요!

✨ 감성과 열정이 만나는 현장을 직접 보고 싶다면, 제15회 진안고원 수박축제를 참고해보세요.









최상의 건강을 위한 영양가득한 식품과 정보! life-plus.co.kr 바로가기
최상의 건강을 위한 영양가득한 식품과 정보! life-plus.co.kr 바로가기



다채로운 문화축제와 공연 소식을 공유하는 블로그! culturestage.co.kr 바로가기
다채로운 문화축제와 공연 소식을 공유하는 블로그! culturestage.co.kr 바로가기



비트코인 세계로의 첫걸음! 지금 가입하고 거래 수수료 할인 혜택 받으세요! bitget.com 바로가기
비트코인 세계로의 첫걸음! 지금 가입하고 거래 수수료 할인 혜택 받으세요! bitget.com 바로가기




Tags

#developer#coding#java

Share

Previous Article
(Java 기초) main 메서드는 왜 static일까? - static의 개념과 진짜 이유

Table Of Contents

1
1. 자바 소스 코드(.java) 작성부터 시작하기
2
2. javac 컴파일러로 .class 파일 생성하기
3
3. JVM에서 프로그램 실행하기

Related Posts

(Java 예외 처리 마스터하기) 다중 catch와 예외 흐름 제어의 모든 것 - 코딩하는곰의 20년 노하우
December 16, 2025
3 min