ByeongSuAhn 2021. 7. 15. 14:50

배열이란?

같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을'배열(array)라고 한다.

많은 양의 데이터를 손쉽게 저장하고 다루기 위해 필요하다.

 배열은 '같은 타입'의 여러 변수를 하나의 묶음으로 다루는 것

배열은 각 저장공간이 연속적으로 배치되어 있다는 특징이 있다.

 

배열의 선언과 생성

배열을 선언하는 방법은 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 대괄호를 붙이면 된다.

선언방법 선언 예
타입[] 변수이름; int[]     score;
String[] name;
타입 변수이름[]; int     score[];
String name[]

 

배열의 생성

배열을 선언한 다음에는 배열을 생성해야 한다. 배열을 선언하는 것은

생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어질 뿐이고, 

배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어진다.

타입[]	변수이름;
변수이름 = new 타입[길이];

배열을 생성하기 위해서는 연산자'new'와 함께 배열의 타입과 길이를 지정해 주어야 한다.

 

1. int[] score; //int형 배열 참조변수 score을 선언한다.
2. score = new int [5]; //연산자'new'에 의해서 메모리의 빈 공간에 5개의 int형 데이터를 저장할 수 있는 공간이 마련된다.

 

배열의 길이와 인덱스

생성된 배열의 각 저장공간을 '배열의 요소'라고 하며 '배열 이름[인덱스]의 형식으로 배열의 요소에 접근한다.

인덱스(index)는 배열의 요소마다 붙여진 일렬번호로 각 요소를 구분하는 데 사용된다.

인덱스(index)의 범위는 0부터 '배열길이-1'까지.'

 

배열의 길이

배열을 생성할 때 괄호[]안에 배열의 길이를 적어줘야 하는데, 배열의 길이는 배열의 요소와 개수, 즉 값을 저장할 수 있는 공간의 개수다.

배열의 길이는 양의 정수로 나오며 최댓값은 int타입의 최댓값, 약 20억이다.

 

타입[] 배열 이름 = new 타입[길이];

int arr = new int [];

배열의 길이는 int범위의 양의 정수(0도포함)이어야 한다.

 

배열 이름. length

자바에서는 JVM이 모든 배열의 길이를 별도로 관리하며

'배열 이름. length'를 통해서 배열의 길이에 대한 정보를 얻을 수 있다.

배열은 한번 생성하면 길이를 변경할 수 없기 때문에, 이미 생성된 배열의 길이는 변하지 않는다.

따라서 배열 이름. length는 상수로 변경할 수 없다.