클래스와 객체: 게임 기록을 하나의 자료로 만들기
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
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 파일과 명시된 출력 파일
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. 핵심 요약
클래스와 객체: 게임 기록을 하나의 자료로 만들기 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.