본문으로 건너뛰기
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 -versionjavac -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강. 클래스와 객체: 게임 기록을 하나의 자료로 만들기 미완료 상태