먼저 라이브러리 클래스에서 필드를 선언해 보겠습니다. 또한 길이가 다른 생성자가 생성되어 오버로드되었습니다.
public class Practice {
String nation;
String name;
String date;
String color;
public Practice(String nation, String name){
this(nation,name,null,null);
}
public Practice(String nation, String name,String date,String color){
this.nation = nation;
this.name = name;
this.date = date;
this.color = color;
}
이전 방법은 라이브러리 클래스 외부에서 new 연산자로 개체를 만든 다음 필드를 개별적으로 초기화하는 방법을 알아보는 것이었습니다.
public class PracticeMain {
public static void main(String() args) {
Practice soccer = new Practice("포르투칼", "호날두");
}
이제 배열로 필드를 초기화하겠습니다.
간단하게 하기 위해 위의 라이브러리 클래스를 사용하고 아래에 실행 클래스를 작성하고 코드를 단계별로 작성하겠습니다.
1. new로 객체를 만들고 pracArr이라는 배열에 저장합니다. 이 배열은 길이가 4인 배열입니다.
public class PracticeMain {
public static void main(String() args) {
Practice() pracArr = new Practice(4);
}
2. 이 경우 인덱스 0에서 3까지의 값이 입력됩니다. 인덱스에 값을 입력하는 순간 객체를 통해 생성자와 연결하여 배열을 초기화합니다.
public static void main(String() args) {
Practice() pracArr = new Practice(4);
pracArr(0) = new Practice("한국","김건우",null,null);
pracArr(1) = new Practice("일본","미토마","3월 30일", null);
pracArr(2) = new Practice("한국","김민재");
pracArr(3) = new Practice("한국","황희찬");
}
3. 이제 필드 초기화가 잘 되었는지 확인해보자. 개선된 for 문을 사용하여 pracArr() 인덱스 0~3을 prac 변수에 넣고 출력하여 인덱스 값을 확인합니다.
public static void main(String() args) {
Practice() pracArr = new Practice(4);
pracArr(0) = new Practice("한국","김건우",null,null);
pracArr(1) = new Practice("일본","미토마","3월 30일", null);
pracArr(2) = new Practice("한국","김민재");
pracArr(3) = new Practice("한국","황희찬");
for(Practice prac : pracArr) {
System.out.println("------------------------");
System.out.println(prac.nation);
System.out.println(prac.name);
System.out.println(prac.date);
System.out.println(prac.color);
System.out.println("------------------------");
}
}
}
처음 봤을 때는 많이 어려웠는데 코드를 쓰면서 반복하고 이해하면서 점점 눈에 들어오는 것 같았어요.
잘못된 용어 사용이 있다면 댓글로 알려주세요…