본문으로 건너뛰기
Java 기초집LESSON 03

Java 프로그램 구조: class, main 메서드, 컴파일과 실행

난이도입문 → 초급
예상 시간35분
선수지식이전 강의

3강. Java 프로그램 구조: class, main 메서드, 컴파일과 실행

1. 이번 강의에서 해결할 문제​

중괄호, 클래스명, main 서명이 조금만 달라도 컴파일되거나 시작되지 않습니다. Java 프로그램의 최소 구조와 진입점을 이해해야 합니다.

2. 학습 목표​

3. 핵심 개념​

클래스는 상태와 동작을 묶는 선언 단위이고 public static void main(String[] args)는 java 실행기가 찾는 진입점입니다. static이므로 객체를 만들기 전에 호출할 수 있고 args에는 클래스명 뒤의 명령줄 값이 순서대로 들어옵니다.

4. 단계별 실습​

1. src/GameApp.java 작성​

실행 환경: 코드 편집기

실행 위치: C:\dev\game-records

실행 전 확인: 같은 이름의 기존 파일이 있다면 덮어쓰기 전에 Git diff와 이번 강의 변경 범위를 확인합니다.

대상 파일: src/GameApp.java

src/GameApp.java
public class GameApp {
public static void main(String[] args) {
String playerName = args.length > 0 ? args[0] : "Guest";
System.out.println("플레이어: " + playerName);
System.out.println("기록 수집을 준비합니다.");
}
}

2. PowerShell에서 컴파일·실행​

실행 환경: Windows PowerShell

실행 위치: C:\dev\game-records

실행 전 확인: java -version과 javac -version이 선택한 LTS JDK를 가리키고, 소스 파일명이 public 클래스명과 일치하는지 확인합니다.

대상: 이 강의의 .java 파일, out의 class 파일과 명시된 출력 파일

Windows PowerShell
Set-Location C:\dev\game-records
Remove-Item .\out\GameApp.class -ErrorAction SilentlyContinue
javac -d out .\src\GameApp.java
java -cp out GameApp Alice

예상 결과: out/GameApp.class가 새로 만들어지고 플레이어 Alice와 준비 문장이 출력됩니다.

5. 코드가 동작하는 이유​

삼항 연산자는 args가 비었을 때 안전한 기본값을 선택합니다. java -cp out GameApp Alice에서 GameApp은 파일 경로가 아니라 클래스명이며 Alice만 args[0]이 됩니다.

6. 자주 하는 실수와 해결법​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

Java 프로그램 구조: class, main 메서드, 컴파일과 실행 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“Java 프로그램 구조: class, main 메서드, 컴파일과 실행” 작업 전 검토에서 채택해야 할 안전 기준은 무엇인가요?
  2. 문제 2“Java 프로그램 구조: class, main 메서드, 컴파일과 실행” 실습 중 ‘public 클래스와 파일명을 다르게 쓰기’ 상황을 발견했습니다. 본문과 일치하는 설명은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

3강. Java 프로그램 구조: class, main 메서드, 컴파일과 실행 미완료 상태