본문으로 건너뛰기
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 -versionjavac -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 메서드, 컴파일과 실행 미완료 상태