웹개발/JAVA

Array(JAVA에서 배열 활용법)

bergerac 2025. 2. 20. 09:11

프로그래밍에서 데이터를 효율적으로 관리하는 방법 중 하나가 배열(Array) 입니다.
배열을 사용하면 같은 타입의 여러 데이터를 하나의 변수처럼 관리할 수 있습니다.

1. 배열이란?

배열은 같은 타입의 데이터를 연속적으로 저장하는 자료구조입니다.
배열을 사용하면 변수를 여러 개 선언하는 것보다 더 효율적으로 데이터를 관리할 수 있습니다.

배열의 주요 특징

  • 데이터를 순차적으로 저장하며, 인덱스(index) 를 통해 접근 가능
  • 인덱스는 0부터 시작
  • 배열의 크기는 한 번 정해지면 변경할 수 없음
  • 중복이 가능하며 같은 값을 배열의 여러 위치에 저장 가능하다.

배열을 사용하지 않는 경우

 
int korean = 80;
int math = 95;
int english = 85;

배열을 사용하는 경우

 
int[] scores = new int[3]; // 배열 선언
scores[0] = 80;
scores[1] = 95;
scores[2] = 85;

위처럼 배열을 사용하면 변수 하나로 여러개의 데이터를 관리할 수 있다.


2. 배열 선언 및 초기화

배열을 선언하는 방법은 두 가지가 있습니다.

① new 키워드를 사용한 배열 선언

int[] scores = new int[3];

이렇게 선언하면 기본값으로 초기화됩니다.(크기가 3인 배열 선언)
(정수형은 0, boolean은 false, String은 null)

② 배열 리터럴을 사용한 선언

int[] scores = {80, 95, 85};

이 방법을 사용하면 배열 크기를 따로 지정하지 않아도 자동으로 할당됩니다.

크기를 자동으로 지정하도록 할 수 있습니다.


3. 배열의 길이 확인

배열의 크기를 알기 위해 .length 속성을 사용할 수 있습니다.

int[] scores = {80, 95, 85};
System.out.println(scores.length); // 출력: 3

배열은 크기가 고정되므로, 크기를 동적으로 변경할 수는 없습니다.


4. 배열의 한계점 및 예외처리

배열의 한 가지 중요한 제한 사항은 **"배열의 크기를 초과하여 데이터를 저장할 수 없다"**는 점입니다.
만약 배열의 크기를 초과해서 값을 저장하려 하면 ArrayIndexOutOfBoundsException 오류가 발생합니다.

 

배열의 크기를 초과한 경우

int[] scores = new int[3]; // 크기가 3인 배열 선언

System.out.println(scores[0]); // 0 (기본값)
System.out.println(scores[1]); // 0 (기본값)
System.out.println(scores[2]); // 0 (기본값)

// 존재하지 않는 인덱스에 접근
System.out.println(scores[3]); // 오류 발생

오류 메시지 예시

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3

이 오류는 배열의 길이를 초과하여 인덱스에 접근했을 때 발생합니다.

예외를 방지하는 방법

  1. 배열 크기를 초과하는 접근을 하지 않도록 주의
    → 루프를 돌릴 때 i < scores.length 조건을 반드시 확인해야 함
  2. 배열 크기를 동적으로 관리하려면 ArrayList 사용
    → Java의 ArrayList는 크기 제한 없이 동적으로 요소를 추가할 수 있음

예제: ArrayList를 활용하여 크기 초과 방지

 
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<Integer> scores = new ArrayList<>();
        scores.add(80);
        scores.add(95);
        scores.add(85);
        scores.add(100); // 크기 초과 문제 없음

        System.out.println(scores.get(3)); // 정상 출력: 100
    }
}

이처럼 ArrayList를 사용하면 배열 크기를 신경쓰지 않고도 데이터 관리가 가능합니다.


5. 배열 vs. ArrayList 비교

항목배열 (Array)ArrayList

크기 변경 불가능 가능 (add() 사용)
타입 기본형 및 객체 객체만 저장 가능
초기화 방식 int[] arr = new int[3]; ArrayList<Integer> arr = new ArrayList<>();
속도 빠름 상대적으로 느림 (내부에서 동적 크기 조정)

배열은 고정 크기의 데이터를 다룰 때 유리하고, ArrayList는 크기가 가변적인 데이터를 다룰 때 유용합니다.

'웹개발 > JAVA' 카테고리의 다른 글

Collection Framework  (1) 2025.02.22
Overloading vs Overriding  (2) 2025.02.21
상속(Inheritance)  (0) 2025.02.19
제어자(Modifier)  (1) 2025.02.18
객체 지향 프로그래밍  (1) 2025.02.17