동일한 타입의 값들을 하나의 묶음으로 묶은 자료 구조를 의미한다.
즉, 연관성이 있는 값들의 집합이다.
int[] numbers = {5, 10, 15, 20, 25};
위 코드를 통해 알 수 있듯, 배열을 통해 값들을 묶어서 저장한다는 것은 메모리 공간 상에 물리적으로 값들을 모아서 저장하는 것을 의미한다.
{ } 안에 있는 값은 배열의 요소(element)라고 하고 각 요소는 0부터 시작하는 번호(순서)를 부여 받는데,
이를 인덱스(index)라고 한다.
따라서 위 코드에서 '5, 10, 15, 20, 25'는 요소이고, 인덱스 0(첫번째)은 5, 인덱스 2(3번째)는 15이다.
차원
배열에서 차원은 배열의 중첩된 정도를 의미하는데, 배열의 요소가 또다른 배열일때 중첩됐다고 한다.
예를 들어, 2차원 배열은 배열안에 배열이 중첩된 형태이며, 3차원 배열은 배열안에 배열안에 또다른 배열이 중첩된 형태이다.
{ 1, 2, 3, 4 } //1차원 배열
{ { 1, 2, 3, 4 }, { 5, 6, 7, 8 } } //2차원 배열
원시 타입이 아닌건 레퍼런스타입
레퍼런스타입은 주소값만 가지고 있음
배열의 초기화
배열의 초기화는 배열의 타입에 따라 다르다.
- 기본값: 배열을 초기화하지 않으면 기본값으로 설정.
- int[]: 기본값은 0
- boolean[]: 기본값은 false
- String[]: 기본값은 null
배열에서의 제약
- 배열은 한 가지 타입만 저장할 수 있다. 즉, 같은 타입의 값들만 배열로 묶어서 저장할 수 있다.
- 배열의 크기는 고정되므로, 크기를 동적으로 변경할 수 없다. 크기를 변경하려면 새로운 배열을 생성해야 한다.
배열은 문자열 length와 비슷, but 소괄호가 붙을 수 없음. method가 아닌 값이기 때문
배열은 ()가 절대 붙을 수 없음