객체를 저장하는 배열로 배열의 자료형을 클래스명(사용자 정의 자료형)으로 지정하여 활용
// ex)
Academy[] arr = new Academy[5];
// 1. 인덱스를 이용한 초기화
배열명[i] = new 클래스명();
arr[0] = new Academy(1, "a");
arr[1] = new Academy(2, "b");
// 2. 선언과 동시에 할당 및 초기화
클래스명 배열명[] = { new 클래스명(), new 클래스명() };
Academy arr[] = {
new Academy(1, "a"),
new Academy(2, "b")
};
자료에 접근할 때는 인덱스를 활용하여 접근한다.
변수명 [인덱스]로 객체에 접근하고 멤버변수나 메소드에 접근하려면 .
을 이용하여 접근한다.
package oop.sample;
public class Person {
private String name; // 멤버필드
private int age; // 멤버필드
private char gender; // 멤버필드
// 기본 생성자
public Person() {
super();
}
// 매개변수 있는 생성자
public Person(String name, int age, char gender) {
// super()를 먼저 수행하고 끝나면 아래 초기화 과정 수행함.
super();
this.name = name;
this.age = age;
this.gender = gender;
}
// getter, setter 메소드
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
}
package oop.test;
import oop.sample.Person;
public class TestArray {
public static void main(String[] args) {
// 방법 1)
Person[] list = new Person[3]; // 3명을 보관할 수 있는 객체배열 선언
list[0] = new Person("김개똥", 19, '남');
list[1] = new Person("김말똥", 20, '남');
list[2] = new Person("김소똥", 22, '여');
// 각 객체의 멤버에 접근 이름 출력
for(int i = 0; i < list.length; i++) {
System.out.println(list[i].getName());
}
// 방법 2)
Person[] members = {
new Person("김개똥", 19, '남'),
new Person("김말똥", 20, '남'),
new Person("김소똥", 22, '여')
};
// 각 객체의 멤버에 접근 이름 출력
for(int i = 0; i < members.length; i++) {
System.out.println(members[i].getName());
}
}
}
감사합니다 도움이 많이 되었습니다