핑구

06. 객체 배열 본문

JAVA 웹 개발/1. JAVA

06. 객체 배열

코딩 펭귄 2022. 5. 10. 15:37
📅 2021.08.24

객체 배열

  • 객체 배열 ( = 참조 자료형 배열, 클래스 배열) : 객체를 저장하는 배열로 배열의 자료형을 클래스명(사용자 정의 자료형)으로 지정하여 활용하는 배열을 말한다.
  • 객체 배열을 사용한 경우에도 객체 내부의 메소드를 불러올 수 있다. (ex. arr[0].getName())
    그 이유는 인덱스를 통해 해당 배열의 값에 접근하는 경우(arr[0]) 해당 배열에 저장된 객체의 주소값을 따라가기 때문이다.
    따라서 배열을 초기화하지 않아 배열에 기본값(null)이 저장된 경우에는 객체 내부 메소드를 가져올 수 없다. (NullPointerException 발생)

 

객체 배열의 선언과 할당

  • 객체 배열의 선언
    클래스명[] 배열명;
    클래스명 배열명[];
    선언 시 기본(원시) 자료형 배열과 마찬가지로 stack 영역에 주소값을 저장할 수 있는 공간이 생성된다.
  • 객체 배열의 할당
    배열명 = new 클래스명[배열 크기];
    할당 시 기본(원시) 자료형과 마찬가지로 heap 영역에 데이터를 저장할 수 있는 공간이 생성된다.

 

객체 배열의 초기화

  • 인덱스를 이용한 초기화
    배열명[인덱스] = new 클래스명();
    ex. 기본 생성자를 사용했을 경우: arr[0] = new Academy();
         매개변수 생성자를 사용했을 경우: arr[1] = new Academy(1, "KH");
  • 선언과 동시에 할당 및 초기화
    클래스명 배열명[] = {new 클래스명(), new 클래스명()};
    ex. Academy[] arr = {new Academy(),
                               new Academy(),
                               new Academy(1, "KH"),
                               new Academy(2, "KH"),
                               new Academy(3, "KH")}

'JAVA 웹 개발 > 1. JAVA' 카테고리의 다른 글

08. 다형성  (0) 2022.05.10
07. 상속  (0) 2022.05.10
05. 객체  (0) 2022.05.10
04. 배열  (0) 2022.05.10
03. 제어문  (0) 2022.05.10