JAVA/JAVA

Java | Array of Objects 객체 배열

pathas 2020. 1. 29. 17:49

Array of Objects 객체 배열

참조 자료형으로 선언하는 배열로, 같은 참조 자료형의 객체만 저장된 배열

기본적인 사용 방법은 배열과 동일함


사용례

package j200129;

public class ArrayOfObject {

    // 멤버 변수 선언
    String name;
    int age;
    char gender;

    // 생성자
    ArrayOfObject(String name, int age, char gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    // 정보 출력 메소드
    void printInfo() {
        System.out.println("이름: " + name + ", 나이: " + age + ", 성별: " + gender);
    }

    public static void main(String[] args) {
         // ArrayOfObject 자료형 객체 배열 선언, 배열의 크기는 3
        ArrayOfObject[] aoo = new ArrayOfObject[3];

        // 객체 배열 값 초기화, 배열의 요소가 객체이기 때문에 생성자를 이용해서 값을 초기화
        aoo[0] = new ArrayOfObject("이순신", 33, '남');
        aoo[1] = new ArrayOfObject("유성룡", 34, '남');
        aoo[2] = new ArrayOfObject("권율", 32, '남');

        // 객체 배열에 저장된 각각의 값 출력
        for (int i = 0; i < aoo.length; i++) {
            aoo[i].printInfo();
        }
         /*
         이름: 이순신, 나이: 33, 성별: 남
         이름: 유성룡, 나이: 34, 성별: 남
         이름: 권율, 나이: 32, 성별: 남
         */

         // 객체 배열 내 각 요소의 주소값 출력, 객체가 저장되어 있기 때문에 각각의 주소값이 출력됨
        for (int i = 0; i < aoo.length; i++) {
            System.out.println(aoo[i]);
        }
         /*
         j200129.ArrayOfObject@15db9742
         j200129.ArrayOfObject@6d06d69c
         j200129.ArrayOfObject@7852e922
         */

        // 첫 번째 요소의 이름만 출력해보기
        System.out.println("이름: " + aoo[0].name);    // 이름: 이순신
    }

}

객체배열명[index].멤버변수
객체 배열에는 객체의 정보가 담겨 있기 때문에 '요소.멤버변수'로 객체의 멤버변수에 접근할 수 있음


참조 자료형 클래스를 자료형으로 하는 배열인 객체 배열에 대해 간단히 알아보았습니다.

객체 배열의 경우에는 배열의 각 요소에 객체가 저장됩니다.

클래스를 자료형으로 하기 때문에 데이터를 저장하고 출력하는 용도의 클래스가 있는 경우

유용하게 사용할 수 있겠습니다.