String[] snacks = {"포카칩", "포테이토칩", "감자깡", "포스틱", "눈을감자"};

우리는 java에서 배열을 사용할때 위의 코드처럼 일정 수의 데이터를 배열의 넣어 사용하기도,

String[] coffees = new String[5];

위의 코드처럼 일정 수의 빈 배열을 만들어 때에 맞춰 데이터를 넣어 사용하기도 합니다.

그렇다면 이러한형태의 배열은 어떠한 방식으로 저장되어 있을까요? 우리가 눈여겨볼 것은 배열 내의 데이터 수의 제한입니다. Java에서 배열을 초기화할때는 데이터의 수를 명시해야 합니다.

Untitled

위 코드의 String 배열을 초기화하면 이러한 형태의 5개의 방을 만들어서 인덱스로 연결합니다. 이런식으로 배열은 방의 크기를 물리적으로 생성하여 배열의 크기를 줄이거나 늘리고 싶어도 불가능합니다.

때문에 배열에서는 방의 크기를 줄이거나 늘이려면 방을 새로 생성하여 해당 방의 데이터를 옮겨주는 방식을 사용해야 합니다.