객체 배열이 쉽지 않지만 잘 사용할 수 있도록 노력해 보자
메모리 구조는 그림 그리면서 확실히 이해하고 넘어가기
- 객체 배열 선언과 할당
- 객체 배열 구조
- 객체 배열 초기화
객체
new 연산자에 의해 클래스에 정의된 내용대로 메모리에 할당된 것
배열
같은 자료형을 묶음으로 다루는 것
객체 배열
객체 참조형 변수를 저장하는 배열로 배열의 자료형을 클래스명 (사용자 정의 자료형) 으로 지정하여 활용
// 선언
Academy[] arr;
Academy arr[];
// 할당
arr = new Academy[5];
// 선언과 동시에 할당
Academy[] arr = new Academy[5];
객체 배열은 객체를 참조하는 참조형 변수의 묶음으로 1차원 배열이지만 2차원 배열과
유사한 구조의 형태이다.
참조 변수 사용 시 참조하고 있는 객체가 없는 참조 변수를 이용해서 필드나 메서드를 호출할 경우 NullPointerException 이 발생하므로 참조 변수가 null 인지의 여부를 먼저 검사해야 한다.
객체 배열을 초기화하는 방법은 다음과 같다.
// 인덱스를 이용한 초기화
arr[0] = new Academy(1, "KH 학원");
arr[1] = new Academy(2, "케이에이치");
// 선언과 동시에 할당 및 초기화
Academy arr[] = {
new Academy(1, "KH 학원"),
new Academy(2, "케이에이치")
};