배(配): 나누다/짝 짓다 열(列): 벌이다(여러가지 물건을 늘어 놓다)
동일한 성격의 데이터를 관리하기 쉽도록 하나로 묶다. 즉, 연관된 정보를 ‘그룹핑’ 하는데 사용한다.
연관된 데이터를 모아 관리하기 위해서 사용하는 ‘데이터 타입’이다. 변수는 하나의 데이터를 저장하기 위한 것이라면 배열은 여러 개의 데이터를 저장하기 위한 것이라고 할 수 있다.
// 예제 1) 배열의 정의(1)
public static void main(String[] args) {
String[] classGroup = {"유현우", "강원희", "강세준", "박상진"};
}
예제 1)은 classGroup 변수에는 문자열의 데이터로 구성돼 있는 배열이 담긴다는 의미다.
배열을 선언할 때는 데이터 타입 뒤에 []를 붙여야 한다. []가 없다면 classGroup는 배열이 아니라 문자열 데이터 타입을 갖는 변수가 된다. 배열에 소속될 데이터들은 중괄호 안에 위치한다. 그리고 각각의 데이터들은 쉼표로 구분된다.
배열의 첫 번째 역할은 연관된 데이터를 저장하는 것이다. 예제 1)은 데이터를 저장하는 컨테이너로서 배열의 면모를 잘 보여주고 있다. 저장을 했으면 저장한 것을 꺼내오는 이슈가 생긴다. 아래의 예제는 배열에 담겨있는 데이터를 꺼내오는 방법을 보여 준다.
// 예제 2)
public static void main(String[] args) {
String[] classGroup = {"유현우", "강원희", "강세준", "박상진"};
System.out.println(classGroup[0]); //classGroup 배열의 첫번째 입력값을 출력
System.out.println(classGroup[1]);
System.out.println(classGroup[2]);
System.out.println(classGroup[3]);
}
출력값
유현우
강원희
강세준
박상진
classGroup처럼 배열이 담겨있는 변수의 이름 뒤에 []를 붙이고 그 안에 0부터 시작하는 숫자를 입력하면 순차적으로 값을 가져올 수 있다.
다음 예제는 배열을 정의하는 다른 방법과 배열에 담겨 있는 값의 수를 알아내는 방법을 나타낸다.
// 예제 3) 배열의 정의(2)
public static void main(String[] args) {
//배열의 정의(1)
//String[] classGroup = {"유현우", "강원희", "강세준", "박상진"};
String[] classGroup = new String[4]; //①배열의 길이(4)를 먼저 설정하여 배열 변수(classGroup)를 먼저 생성한 다음 그 값은 나중에 대입하는 방법이다.
classGroup[0] = "유현우"; //②classGroup 배열의 첫번째 입력값 = "유현우"
System.out.println(classGroup.length); //③classGroup 배열이 담을 수 있는 원소의 개수를 출력
classGroup[1] = "강원희";
System.out.println(classGroup.length);
classGroup[2] = "강세준";
System.out.println(classGroup.length);
classGroup[3] = "박상진";
System.out.println(classGroup.length);
}
출력값
4
4
4
4
학생의 이름과 같이 배열에 담긴 각각의 데이터를 **원소(element)**라고 한다. classGroup[1]은 강원희다. 여기서 숫자 1은 원소 강원희를 식별하는 식별자다. 이러한 식별자를 색인(Index)라고 부른다. 이 식별자는 중복되면 안 되기 때문에 데이터를 입력할 때 자동으로 1씩 증가 되면서 만들어진다.
이 배열이 담을 수 있는 원소의 개수를 length라고 한다. 위의 그림에 따르면 classGroup의 길이는 4가 된다. length는 배열에 담긴 원소의 숫자가 아니라 배열을 선언할 때 지정한 배열이 담을 수 있는 값의 크기를 의미한다.