작성한 질문수
그림으로 배우는 자바, 파트2: 객체지향!
객체 조합 및 클래스 변수
작성
·
167
0
팀클래스에서 플레이서 클래스에 있는 totalPoint메소드를 사용하던데 클래스가 다른데 어떻게 사용하는건가요?
답변 1
1
질문과 관련된 코드를함께 보여주십셩
class Team {
// 필드
String nation; // 나라
Player[] players; // 선수들
// 생성자
Team (String str, Player[] arr) {
nation = str;
players = arr;
}
// 메소드
void printTeamPoints() {
int sum = 0;
for (int i = 0; i < players.length; i++) {
System.out.printf("%s -> %d points\n", nation, sum);
// 선수 클래스
class Player {
String name; // 이름
int[] points; // 득점 현황
Player (String str, int[] arr) {
name = str;
points = arr;
int totalPoints() {
for (int i = 0; i < points.length; i++) {
sum += points[i];
return sum;
굵게 표시한 부분에서 플레이어클래스에 있는 메소드를 팀클래스에서 어떻게 사용하는 건지 궁금합니당
Team 클래스에는players라는 필드가 존재합니다.players는 Player 객체의 배열이죠.
따라서 Team 클래스는players 필드를 통해연결된 선수들의 메소드를 호출할 수 있습니다.
class Team {
// 필드
String nation; // 나라
Player[] players; // 선수들
// 생성자
Team (String str, Player[] arr) {
nation = str;
players = arr;
}
// 메소드
void printTeamPoints() {
int sum = 0;
for (int i = 0; i < players.length; i++) {
sum += players[i].totalPoints();
}
System.out.printf("%s -> %d points\n", nation, sum);
}
}
// 선수 클래스
class Player {
// 필드
String name; // 이름
int[] points; // 득점 현황
// 생성자
Player (String str, int[] arr) {
name = str;
points = arr;
}
// 메소드
int totalPoints() {
int sum = 0;
for (int i = 0; i < points.length; i++) {
sum += points[i];
}
return sum;
}
굵게 표시한 부분에서 플레이어클래스에 있는 메소드를 팀클래스에서 어떻게 사용하는 건지 궁금합니당