개발(React | Java)/자바 기초 | 문법

배열(Array) 기본부터 활용까지 — 반복문과 함께 쓰는 가장 중요한 자료구조

dev-parrot 2025. 12. 5. 16:16

배열은 “여러 개의 같은 타입 데이터를 하나의 변수에 저장하는 구조”입니다.
점수 목록, 회원 목록, 상품 목록 등 반복문과 함께 가장 많이 쓰입니다.

이번 글에서는 배열 선언 → 초기화 → 반복문 활용 → 다차원 배열까지
Java 입문자가 반드시 이해해야 하는 모든 내용을 체계적으로 정리합니다.


📌 목차

  1. 배열이란?
  2. 배열 선언 & 초기화
  3. 배열 값 읽기 & 변경
  4. 배열 길이(length)
  5. 배열과 for문
  6. 향상된 for문(for-each)
  7. 배열 값 합계/최댓값/검색 실전 예제
  8. 2차원 배열
  9. 자주 하는 실수
  10. 마무리
  11. 대표 태그

1️⃣ 배열이란?

배열(Array)은 같은 자료형 여러 개를 하나로 묶은 자료 구조입니다.

예)

int[] scores = {90, 80, 70};

 

👉 scores에는 정수 3개가 저장됨
👉 인덱스(index)는 0부터 시작함


2️⃣ 배열 선언 & 초기화

✔ 선언만 하기

int[] arr = new int[5];

👉 길이 5인 int 배열 생성
👉 초기값은 모두 0


✔ 선언 + 값 초기화

int[] arr = {10, 20, 30};

 

이 방식이 가장 많이 쓰입니다.


✔ 선언 후 나중에 값 할당

String[] names = new String[3];
names[0] = "Tom";
names[1] = "Jane";
names[2] = "Mike";

 

3️⃣ 배열 값 읽기 & 변경

✔ 읽기

System.out.println(arr[0]);

✔ 변경

arr[1] = 200;

 

4️⃣ 배열 길이(length)

배열의 길이는 length로 확인합니다.

System.out.println(arr.length);

 

⚠ 주의
length는 변수가 아니라 필드이므로 괄호() 없음.


5️⃣ 배열과 for문 (가장 많이 사용하는 패턴)

int[] arr = {10, 20, 30};

for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

 

6️⃣ 향상된 for문 (for-each)

배열 값을 하나씩 읽을 때 가장 편리합니다.

for (int value : arr) {
    System.out.println(value);
}

 

⚠ 인덱스 접근이 필요할 때는 사용할 수 없음.


7️⃣ 실전 배열 예제

✔ 1) 배열 합계 구하기

int[] arr = {1, 2, 3, 4, 5};
int sum = 0;

for (int num : arr) {
    sum += num;
}

System.out.println("합계 = " + sum);

 

✔ 2) 최대값 구하기

int[] arr = {4, 7, 1, 9, 2};
int max = arr[0];

for (int num : arr) {
    if (num > max) max = num;
}

System.out.println("최댓값 = " + max);

 

✔ 3) 특정 값 찾기 (검색)

int[] arr = {10, 20, 30};
int target = 20;
boolean found = false;

for (int num : arr) {
    if (num == target) {
        found = true;
        break;
    }
}

System.out.println(found ? "찾음" : "없음");

8️⃣ 2차원 배열 (행렬 형태)

표(table), 좌석 정보, 지도 등에서 사용됩니다.

 
int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6}
};

 

행(row)과 열(column)로 접근:

 
System.out.println(matrix[0][1]); // 2

 

이중 for문과 함께 사용:

for (int i = 0; i < matrix.length; i++) {
    for (int j = 0; j < matrix[i].length; j++) {
        System.out.print(matrix[i][j] + " ");
    }
    System.out.println();
}
 
 

9️⃣ 자주 하는 실수

❌ 배열 인덱스 범위 초과

int[] arr = {1, 2, 3};
arr[3] = 10; // 오류! (0~2까지만 가능)
 
 

➡ 오류: ArrayIndexOutOfBoundsException


❌ length와 length() 혼동

  • 배열 → length
  • 문자열(String) → length()

❌ 배열 크기는 고정

Java 배열은 선언 후 크기를 변경할 수 없음.
동적으로 요소 개수를 바꾸고 싶다면 ArrayList 사용해야 함.


🔟 마무리

이번 글에서 Java 배열의 핵심을 모두 정리했습니다.

✔ 배열 선언/초기화
✔ 값 읽기/변경
✔ length 사용
✔ for / for-each 반복
✔ 합계, 최대값, 검색 실전
✔ 2차원 배열

다음 글로 넘어가면 Java 메서드를 배우면서 코드 구조를 더 깔끔하게 만들 수 있습니다.

 
 
 

📘 다음 글 예고

👉 Java 기초 (7) — 메서드(함수) 개념과 사용법 완전 정리