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

클래스와 객체: 게임 기록을 하나의 자료로 만들기

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

11강. 클래스와 객체: 게임 기록을 하나의 자료로 만들기

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

각 기록을 서로 다른 배열이나 변수로 관리하면 같은 행의 값이 어긋날 수 있습니다. 관련 상태를 하나의 객체로 묶어야 합니다.

2. 학습 목표​

3. 핵심 개념​

클래스는 객체가 가질 상태와 동작의 설계이고 new는 실제 인스턴스를 만듭니다. 각 GameRecord는 자신의 playerName, gameMode, score, playMinutes를 가지며 summary 메서드는 그 상태를 사용합니다. 이번 단계에서는 구조를 먼저 보고 다음 강의에서 캡슐화합니다.

4. 단계별 실습​

1. src/GameRecordDemo.java 작성​

실행 환경: 코드 편집기

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

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

대상 파일: src/GameRecordDemo.java

src/GameRecordDemo.java
class GameRecord {
String playerName;
String gameMode;
int score;
int playMinutes;

String summary() {
return playerName + " | " + gameMode + " | " + score + "점 | " + playMinutes + "분";
}
}

public class GameRecordDemo {
public static void main(String[] args) {
GameRecord first = new GameRecord();
first.playerName = "Alice";
first.gameMode = "ranked";
first.score = 1350;
first.playMinutes = 28;

GameRecord second = new GameRecord();
second.playerName = "Bob";
second.gameMode = "casual";
second.score = 820;
second.playMinutes = 16;

System.out.println(first.summary());
System.out.println(second.summary());
}
}

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
javac -d out .\src\GameRecordDemo.java
java -cp out GameRecordDemo

예상 결과: 서로 다른 상태를 가진 Alice와 Bob의 게임 기록 요약이 출력됩니다.

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

두 번의 new가 서로 독립된 객체를 만들고 변수 first와 second는 각각의 참조를 저장합니다. summary는 호출 대상 객체의 필드에 접근합니다.

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

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

클래스와 객체: 게임 기록을 하나의 자료로 만들기 미니 퀴즈

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

0 / 2
  1. 문제 1“클래스와 객체: 게임 기록을 하나의 자료로 만들기” 코드 리뷰에서 유지해야 할 설계 원칙은 무엇인가요?
  2. 문제 2‘모든 필드를 외부에 공개한 채 확장하기’ 실수를 판단할 때 “클래스와 객체: 게임 기록을 하나의 자료로 만들기” 강의가 제시한 기준은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

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

11강. 클래스와 객체: 게임 기록을 하나의 자료로 만들기 미완료 상태