배열의 길이와 초기화
배열의 길이
배열이름.length
배열의 길이 : int 타입 상수
int[] arr = new int[5];
: 배열의 길이가 5인 int 배열
int len = arr.length;
: arr.length 의 값은 5이고 len 변수에 저장된다.
배열은 한번 생성되면 컴파일 후 실행되는 동안은 그 길이(크기)를 바꿀 수 없습니다.
배열의 한계점
배열의 크기를 바꿀 수 없는 이유?
new int[5];
로 배열을 생성하면 int 가 4byte 이기 때문에 총 20byte 를 저장하기 위한 연속적인 메모리 공간을 찾습니다.연속적인 공간을 찾아서 주소를 배정합니다.
배정이 끝난 후 크기를 5가 아닌 10으로 늘려야 한다고 가정해 봤을 때 배정받은 주소 뒤에 20byte 를 추가적으로 배정해야 하는데 뒤에 연속적인 메모리 공간이 존재한다는 보장이 없습니다.
따라서 크기를 바꿀 수 없습니다.
배열의 크기가 부족할 때의 방법
필요한 만큼의 크기의 배열을 새롭게 만듭니다.
새로 만든 배열에 기존 배열의 값을 복사해서 저장합니다.
아래 예제코드로 학습해 보겠습니다.
배열의 초기화
배열의 각 요소에 처음으로 값을 저장하는 것을 의미합니다.
자동 초기화
자료형(변수 타입) | 기본값 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | '\n0000' |
boolean | false |
참조형 변수(String or any Object) | null |
배열은 기본적으로 저장 하려는 값의 타입의 기본값으로 자동 초기화 해줍니다.
초기화 방법
int[] num = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9};
int[] num = {1, 2, 3, 4, 5, 6, 7, 8, 9};
new int[] 를 생략할 수 있습니다.
아래 예제코드로 학습해 보겠습니다.
Ref. Java의 정석 기초편 Chapter5(4, 5)
Ref. 길이와 초기화
Last updated