자바 프로그래밍에서 배열(array)은 데이터의 그룹을 관리하고 조작하는 데 유용한 구조입니다. 배열은 동일한 타입의 여러 데이터를 연속적으로 저장할 수 있게 해주며, 각 요소에 대해 인덱스를 제공하여 쉽게 접근할 수 있습니다. 본 글에서는 자바에서 배열의 선언 및 초기화 방법, 그리고 배열을 활용한 다양한 코드 예제를 소개하겠습니다.

자바 배열의 기본 개념
배열은 고정된 크기를 가진 데이터 구조로, 메모리에 연속된 공간을 할당받습니다. 자바에서 배열의 요소들은 0부터 시작하는 인덱스를 통해 접근 가능합니다. 배열은 특정한 데이터 타입을 가지며, 이 타입은 배열이 생성될 때 설정됩니다.
배열 선언
자바에서 배열을 선언하는 방법은 간단합니다. 아래의 구문을 사용하여 배열을 생성할 수 있습니다.
데이터타입[] 배열이름;
예를 들어, 정수형 배열을 선언하고 싶다면 다음과 같이 작성할 수 있습니다.
int[] numbers;
배열 초기화
배열을 선언한 후, 실제로 메모리에 배열을 생성하고 값을 할당해야 합니다. 배열 초기화는 선언과 동시에 수행할 수 있으며, 여러 방법이 존재합니다.
1. 배열 리터럴을 이용한 초기화
가장 간단한 방법은 배열 리터럴을 사용하는 것입니다.
int[] numbers = {1, 2, 3, 4, 5};
2. new 키워드를 이용한 초기화
new 키워드를 사용하여 배열을 생성한 후 값을 개별적으로 할당할 수도 있습니다.
int[] numbers = new int[5];
numbers[0] = 1;
numbers[1] = 2;
// 나머지 요소도 같은 방식으로 초기화 가능
3. 배열의 크기를 동적으로 설정
배열의 크기는 고정되지만, 필요에 따라 배열을 처음 선언할 때 크기를 지정할 수 있습니다.
String[] array = new String[10];
배열에 값 할당하기
배열의 각 요소에 값을 할당할 때는 인덱스를 사용합니다. 배열의 길이는 length 속성을 통해 확인할 수 있습니다.
int[] arr = new int[3];
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
System.out.println(arr.length); // 3
배열 정렬하기
자바에서 배열을 정렬하려면 java.util.Arrays 클래스를 활용할 수 있습니다. Arrays.sort() 메서드를 호출하면 손쉽게 배열을 정렬할 수 있습니다.
오름차순 정렬
Arrays.sort() 메서드는 기본적으로 오름차순으로 정렬을 수행합니다.
import java.util.Arrays;
public class SortExample {
public static void main(String[] args) {
int[] arr = {5, 3, 8, 1, 4};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // [1, 3, 4, 5, 8]
}
}
내림차순 정렬
내림차순으로 정렬하려면 Collections.reverseOrder()를 사용해야 합니다. 이 경우, 기본 데이터 타입인 Integer 배열을 사용해야합니다.
import java.util.Arrays;
import java.util.Collections;
public class SortExample {
public static void main(String[] args) {
Integer[] arr = {5, 3, 8, 1, 4};
Arrays.sort(arr, Collections.reverseOrder());
System.out.println(Arrays.toString(arr)); // [8, 5, 4, 3, 1]
}
}
부분 정렬하기
배열의 특정 부분만 정렬하고 싶으면, 시작 인덱스와 끝 인덱스를 지정하여 정렬할 수 있습니다.
import java.util.Arrays;
public class PartialSortExample {
public static void main(String[] args) {
int[] arr = {5, 3, 8, 1, 4};
Arrays.sort(arr, 1, 4); // 인덱스 1부터 3까지 정렬
System.out.println(Arrays.toString(arr)); // [5, 1, 3, 4, 8]
}
}
객체 배열 정렬하기
객체 배열을 정렬하려면 해당 객체 클래스가 Comparable 인터페이스를 구현해야 하며 compareTo() 메서드를 오버라이드해야 합니다.
import java.util.Arrays;
class Person implements Comparable {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Person other) {
return Integer.compare(this.age, other.age);
}
}
public class ObjectSortExample {
public static void main(String[] args) {
Person[] people = {
new Person("Alice", 30),
new Person("Bob", 25),
new Person("Charlie", 35)
};
Arrays.sort(people);
for (Person p : people) {
System.out.println(p.name + ": " + p.age);
}
}
}

마무리하며
자바에서 배열의 선언, 초기화, 정렬 방법에 대해 알아보았습니다. 배열은 효율적으로 데이터를 관리하고 조작할 수 있는 유용한 도구입니다. 다양한 배열 조작 기법을 통해 프로그래밍 실력을 한층 더 향상시킬 수 있습니다.
질문 FAQ
자바에서 배열을 어떻게 선언하나요?
배열은 자바에서 데이터 타입을 명시한 후 대괄호를 사용하여 선언할 수 있습니다. 예를 들어, 정수형 배열은 ‘int[] 이름;’과 같이 작성합니다.
배열을 어떻게 초기화하나요?
배열은 선언과 동시에 리터럴을 사용하거나, ‘new’ 키워드를 통해 초기화할 수 있습니다. 예를 들어, ‘int[] arr = {1, 2, 3};’ 또는 ‘int[] arr = new int[3];’와 같이 작성할 수 있습니다.
자바에서 배열을 정렬하는 방법은 무엇인가요?
자바에서는 java.util.Arrays 클래스를 활용하여 배열을 정렬할 수 있습니다. ‘Arrays.sort()’ 메서드를 사용하면 손쉽게 배열의 요소들을 정렬할 수 있습니다.