# 객체 조합하기
#### CODE <a class='btn btn-default' href='/codes/56015'>Link</a>
```
public class TeamTest {
public static void main(String[] args) {
// 선수 객체 생성
Player kim = new Player("Kim", new int[] { 9, 8, 10 });
Player lee = new Player("Lee", new int[] { 10, 9, 10 });
Player park = new Player("Park", new int[] { 8, 10, 9 });
Player xiao = new Player("Xiao", new int[] { 10, 9, 10 });
Player yu = new Player("Yu", new int[] { 8, 9, 10 });
Player xui = new Player("Xui", new int[] { 8, 9, 9 });
// 객체 배열 만들기
Player[] koreaPlayers = { kim, lee, park };
Player[] chinaPlayers = { xiao, yu, xui };
// 팀 객체 생성
Team korea = new Team("KOREA", koreaPlayers);
Team china = new Team("CHINA", chinaPlayers);
// 팀 점수 출력
korea.printTeamPoints();
china.printTeamPoints();
}
}
// 팀 클래스
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;
}
}
```
#### INPUT
```
```
#### OUPUT
```
KOREA -> 83 points
CHINA -> 82 points
```
선수 객체 생성에서 Player 생성자를 사용하는 부분이요
왜 int[] 앞에 new를 붙여주나요?
배열 생성 방법인
1. 생성과 동시에 초기화
2. 먼저 배열의 크기 설정 후, 인덱스별 값 대입
두 개 합친건가요?
sehongpark님의 답변
사실 배열 또한 객체입니다.
따라서, 다음과 같은 방식으로 배열(객체)를 만들 수 있습니다.
```
new int[] { 9, 8 , 10 };
```
PS. 다음의 두 코드는 동일하게 동작합니다.
```
int[] arr1 = { 1, 2, 3 };
int[] arr2 = new int[] { 1, 2, 3 };
```