동일한 타입의 연관된 데이터를 메모리에 연속적으로 저장하여 하나의 변수에 묶어서 관리하기 위한 자료구조이다.
배열을 선언하는 방법은 두가지 방법이 있다.
//크기 할당 & 초기화 없이 배열 참조 변수만 선언
int[] arr;
int arr[];
//선언과 동시에 배열 크기 할당
int[] arr = new int[5];
//기존 배열의 참조 변수에 초기화 할당하기
int[] arr;
arr = new int[5]; //5의 크기를 가지고, 초기값 0으로 채워진 배열이 생성된다.
//기본 자료형 배열
int[] arr = new int[10];
//참조 자료형 배열(객체 배열)
book[] library = new book[10];
//book이라는 클래스의 생성된 인스턴스를 담는 역할을 하는 객체 배열 library
//길이가 8인 자동차 객체 배열을 선언한다.
Book[] library = new Book[8];
//각 배열에는 아직 Null값만 존재한다.
//배열안의 자동차 클래스를 초기화 시켜줘야 한다.
for(int i = 0 ; i < library.length; i++){
Book[i] = = new Book();
}
Array를 초기화 뿐만 아니라 Object도 초기화를 시켜줘야 한다.
배열 안에 있는 Class(Book class) 를 전부 초기화 시켜줘야 사용이 가능하며, 그냥 사용하게 되면 그 객체 배열은 해당 index에 등록된 reference가 없어 NullPointerException에러가 발생한다.