ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java | Array of Objects 객체 배열
    JAVA/JAVA 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].멤버변수
    객체 배열에는 객체의 정보가 담겨 있기 때문에 '요소.멤버변수'로 객체의 멤버변수에 접근할 수 있음


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

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

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

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

    댓글

Designed by Tistory.