1.6 실습: Hello World 프로그램 실행 – 작성한 프로그램을 컴파일하고 실행하여 동작 확인
여러분, 자바 파일 하나 만들고 실행하는 게 이렇게 재밌는 일이라는 걸 아셨나요? 처음으로 "Hello, World!"를 출력해보는 그 순간, 진짜 개발자가 된 것 같은 뿌듯함이 느껴질 거예요!
안녕하세요, 자바 입문자 여러분! 지난 시간까지는 자바 언어의 역사와 특징, 그리고 개발 도구 설치까지 차근차근 살펴봤습니다. 이제는 실제로 자바 파일을 작성하고, 컴파일하고, 실행해보는 실습 단계에 도달했어요. 직접 코드를 작성해서 출력 결과를 확인하는 이 단계는 자바의 문법과 동작 방식을 몸으로 익히는 데 큰 도움이 됩니다. 오늘은 간단한 "Hello World" 예제를 통해 컴파일과 실행 과정을 단계별로 따라가 보면서, 자바 개발의 첫걸음을 함께 내딛어보겠습니다.
목차
1. Hello World 자바 소스 코드 살펴보기 📝
자바에서 가장 처음 만나게 되는 코드, 바로 Hello World 프로그램입니다. 이 코드는 짧지만 자바의 핵심 구조가 어떻게 구성되어 있는지 잘 보여주는 예제이기도 해요. 먼저 전체 코드를 먼저 살펴보고, 각 구성 요소를 하나씩 뜯어보겠습니다.
HelloWorld.java 예제 코드
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
이 코드에는 자바의 가장 기본적인 요소들이 모두 포함돼 있어요. 자, 이제 한 줄씩 살펴볼까요?
1️⃣ public class HelloWorld
자바는 클래스 단위로 프로그램이 구성돼요. HelloWorld
라는 이름의 클래스를 선언했고, 클래스 이름은 파일 이름과 반드시 일치해야 해요. 그래서 이 파일의 이름은 HelloWorld.java여야 합니다.
2️⃣ public static void main(String[] args)
이 부분은 자바 프로그램의 시작점이에요. 자바 프로그램을 실행하면 JVM이 이 메서드부터 실행을 시작해요. 'main 메서드'라고 부르며, 반드시 다음과 같은 형식으로 작성돼야 합니다:
-
public
: 어디서든 호출 가능하게 함 -
static
: 객체를 만들지 않아도 사용 가능 -
void
: 반환값이 없음 -
String[] args
: 명령줄 인자 받기용 매개변수
3️⃣ System.out.println("Hello, World!");
이 줄은 실제로 화면에 출력을 담당하는 부분이에요. 콘솔에 "Hello, World!" 라는 문장을 출력하죠. 자바에서 표준 출력은 System.out
을 통해 이루어지고, println()
은 줄 바꿈을 포함해 출력해 줍니다.
이제 코드의 각 줄이 어떤 역할을 하는지 조금 감이 잡히셨나요? 😀 다음 단계에서는 이 파일을 어떻게 저장하고, 어떤 확장자를 써야 하는지 설명드릴게요.
2. 파일 저장 및 확장자 명명 규칙 📂
이제 자바 코드를 직접 작성해봤으니, 이 파일을 저장해볼 차례예요. 여기서 중요한 점은 자바 파일의 저장 이름과 클래스 이름은 반드시 동일해야 한다는 것입니다. 이 규칙을 지키지 않으면 컴파일 에러가 발생해요.
파일 저장 이름 규칙 🔤
- 클래스 이름이
HelloWorld
라면 파일명은 HelloWorld.java여야 합니다. - 자바 소스 파일의 확장자는 반드시 .java 여야 합니다.
- 대소문자를 구분하므로 정확하게 입력해야 해요!
예시 저장 과정 💾
- 텍스트 에디터(예: VS Code, Notepad++, 이클립스 등)를 열고 코드를 붙여넣기
- 메뉴에서 다른 이름으로 저장 선택
- 파일 이름을
HelloWorld.java
로 지정 후 저장
💡 팁: 윈도우에서는 파일 저장 시 확장자가 숨김 처리될 수 있으니, 폴더 옵션에서 “알려진 파일 형식의 파일 확장명 숨기기”를 해제해 주세요!
이제 파일 저장까지 완료했으니, 다음 단계에서는 이 파일을 컴파일해서 자바 프로그램이 어떻게 바이트코드로 바뀌는지 알아볼 거예요. 터미널을 사용할 준비 되셨죠? 😊
3. 컴파일: 자바 파일을 바이트코드로 변환하기 🔧
자바 프로그램은 소스 코드를 바로 실행하는 것이 아니라 컴파일 과정을 거쳐 바이트코드(.class 파일)로 변환된 뒤, JVM(Java Virtual Machine)이 이를 실행합니다. 자바의 대표적인 특징이죠! 이 과정을 직접 실행하면서 확인해보겠습니다.
자바 컴파일 명령어 사용 방법
파일을 컴파일하려면 명령 프롬프트(Windows)나 터미널(Mac/Linux)에서 아래 명령어를 입력하면 됩니다:
javac HelloWorld.java
📌 이 명령어는 javac(Java Compiler)를 통해 HelloWorld.java
파일을 HelloWorld.class라는 바이트코드 파일로 변환해 줍니다.
✅ 컴파일 결과 확인
- 컴파일 성공 시, 별다른 메시지 없이
HelloWorld.class
파일이 생성됩니다. - 컴파일 에러가 발생하면 오류 메시지가 표시되고,
.class
파일은 생성되지 않아요.
컴파일이 잘 되었다면 이제 실행만 남았네요! 다음 섹션에서는 우리가 만든 바이트코드를 실제로 실행해서 "Hello, World!" 메시지를 출력해 보겠습니다 😊
4. 실행: 자바 프로그램 실행 결과 확인하기 ▶️
자바 코드를 작성하고 컴파일까지 완료했다면, 이제는 실행 단계입니다. 우리가 만든 HelloWorld.class
파일을 자바 가상 머신(JVM)을 통해 실제로 실행해 볼 거예요.
자바 클래스 실행 명령어
java HelloWorld
☝ 주의: 확장자인 .class
는 입력하지 않고, 클래스 이름만 입력해야 해요!
실행 결과 화면
Hello, World!
바로 이거죠! 여러분의 터미널에 Hello, World!가 출력됐다면, 첫 자바 프로그램 실행에 성공한 거예요. 🎉 진심으로 축하드립니다! 이제 여러분은 자바 개발자로서의 첫걸음을 내디딘 거랍니다.
실행 과정 요약 🔄
- 터미널에서 해당 파일이 있는 디렉터리로 이동
javac HelloWorld.java
로 컴파일java HelloWorld
로 실행
혹시 실행이 잘 안 되거나 오류 메시지가 나왔다면 괜찮아요! 다음 섹션에서는 자주 발생하는 오류와 그 해결 방법들을 하나씩 정리해 드릴게요 😊
5. 자주 발생하는 컴파일/실행 오류와 해결법 💡
Hello World 예제는 간단하지만, 처음 접하는 분들에겐 의외로 많은 오류가 발생할 수 있어요. 자바는 문법에 엄격하기 때문에, 아주 작은 실수에도 에러가 발생합니다. 아래는 가장 많이 나오는 오류들과 그 해결법이에요.
❌ 컴파일 시 자주 발생하는 오류
오류 메시지 | 발생 원인 | 해결 방법 |
---|---|---|
';' expected | 세미콜론 누락 | 각 문장 끝에 ; 을 붙였는지 확인 |
class HelloWorld is public, should be declared in a file named HelloWorld.java | 파일명과 클래스명이 다름 | 파일 이름을 HelloWorld.java로 저장 |
cannot find symbol | 변수, 메서드 오타 | 대소문자 및 철자 확인 |
⚠️ 실행 시 자주 나오는 오류
- Error: Could not find or load main class HelloWorld
→ 클래스 파일이 없는 위치에서 실행하거나.class
가 존재하지 않을 경우 발생. - Exception in thread "main"
→ main 메서드 오탈자 또는 잘못된 선언 형식 (예: static 빠짐)
에러 메시지를 무서워하지 마세요! 대부분 아주 사소한 실수에서 비롯되며, 그만큼 쉽게 고칠 수 있어요. 😊
지금까지의 과정을 통해 여러분은 단순한 텍스트 출력 이상의 경험을 하셨을 거예요. 이제 마지막으로 이번 실습을 정리하고, 다음 단계에서 어떤 걸 배울지 살짝 알려드릴게요!
6. 실습 요약과 다음 학습 연결 고리 🔗
처음으로 자바 프로그램을 직접 작성하고 실행해보는 이 경험, 어떠셨나요? 지금까지 진행한 Hello World 실습은 자바의 전체 구조와 실행 흐름을 이해하는 데 있어 매우 중요한 첫걸음이에요. 우리가 실습한 과정을 한 번 정리해볼게요.
🧾 실습 요약: Hello World 작성부터 실행까지
- 자바 기본 구조를 이해하고 HelloWorld 클래스를 작성함
HelloWorld.java
로 파일 저장 (클래스 이름과 일치해야 함)javac HelloWorld.java
명령어로 컴파일 수행java HelloWorld
명령어로 실행 후 "Hello, World!" 출력 확인- 오류 메시지 확인 및 해결 방법 학습
이 짧은 실습 안에 자바 문법, 클래스 구조, 컴파일러 사용법, JVM의 동작 방식까지 정말 많은 개념이 녹아 있었답니다!
💡 다음 단계 예고: 변수와 자료형
이제 "Hello, World!"만 출력하던 우리 프로그램을 한 단계 발전시켜 볼 차례예요. 다음 시간에는 변수 선언과 자료형을 배우면서 프로그램에 데이터를 다루는 방법을 익혀볼 거예요. 직접 숫자와 문자열을 입력하고 출력해보며 자바의 기본 타입과 연산에 대해 실습해볼 예정입니다.
지금까지 첫 번째 자바 실습을 멋지게 마무리하셨습니다. 👏 이제 진짜 자바의 세계로 한 걸음 더 나아가 볼 준비 되셨죠?
이번 시간에는 자바의 가장 기본이 되는 Hello World 프로그램을 직접 작성하고, 컴파일하고, 실행하는 과정을 차근차근 실습해보았어요. 처음이라 약간은 생소했을 수도 있지만, 이런 작은 성공들이 모여 큰 자신감으로 이어진다는 걸 꼭 기억해 주세요 😊
이 실습을 통해 자바의 클래스 구조, 컴파일과 실행 흐름, 오류 해결 방법 등 필수적인 기초를 하나씩 내 것으로 만들 수 있었을 거예요. 앞으로 배울 변수, 연산자, 조건문 등을 통해 훨씬 더 다양한 프로그램을 만들어보게 될 거니까 기대 많이 해주세요!
모든 개발자들의 시작은 Hello World였어요. 이제 여러분도 자바 개발자로서의 첫 발걸음을 내딛은 거랍니다 🚀
'JAVA' 카테고리의 다른 글
[FirstJava] 2.2 리터럴과 형 변환 – 정수/실수/문자 리터럴, 자료형 간의 묵시적/명시적 형 변환 (1) | 2025.05.22 |
---|---|
[FirstJava] 2.1 자바 기본 문법과 자료형: 변수와 자료형의 모든 것 (2) | 2025.05.21 |
[FirstJava] 1.5 첫 번째 자바 프로그램 작성 – Hello World 예제 코드 작성 및 분석 (1) | 2025.05.16 |
[FirstJava] 1.4 프로젝트 구조와 컴파일: 소스 작성부터 실행까지 한눈에 보기 (1) | 2025.05.15 |
[FirstJava] 1.3 개발 도구 설치 – OpenJDK와 환경 변수 설정, IDE 소개 (1) | 2025.05.14 |