자바/자바 문법

배열이란?

Blue_bull 2025. 1. 26. 23:41

Java 배열 정리


1. 배열의 정의

  • 배열(Array): 동일한 자료형의 값을 연속된 메모리 공간에 저장하기 위한 자료 구조입니다.
    배열은 인덱스를 통해 각 요소에 접근하며, 0부터 시작하는 인덱스를 가집니다.

2. 배열의 3요소

  1. 배열의 이름: 배열을 식별하기 위한 변수 이름.
  2. 인덱스: 배열 요소에 접근하기 위해 사용하는 숫자(0부터 시작).
  3. 요소: 배열에 저장된 개별 값.

예제:

int[] numbers = {10, 20, 30}; 
// 배열 이름: numbers
// 인덱스: 0, 1, 2
// 요소: 10, 20, 30

3. 배열의 특징

  1. 동일한 자료형의 데이터만 저장 가능.
  2. 고정된 크기: 배열 생성 시 크기를 지정하며, 크기를 변경할 수 없습니다.
  3. 인덱스를 통한 접근: 인덱스는 0부터 시작.
  4. 연속된 메모리 공간에 저장되어 효율적.

4. 배열의 장점

  1. 빠른 데이터 접근: 인덱스를 사용하여 O(1) 시간 복잡도로 요소에 접근 가능.
  2. 단순한 데이터 관리: 다수의 데이터를 하나의 변수로 관리 가능.
  3. 효율적인 메모리 사용: 연속된 메모리 사용으로 캐시 친화적.
  4. 정렬 및 검색이 용이: 정렬, 이진 탐색 등 알고리즘 적용이 쉬움.

5. 배열의 단점

  1. 크기 변경 불가: 배열의 크기는 초기화 시 고정되며, 런타임에 크기를 변경할 수 없습니다.
  2. 동일한 자료형만 저장: 서로 다른 자료형의 데이터를 저장하려면 객체 배열을 사용해야 함.
  3. 메모리 낭비 가능성: 배열 크기 초과 요소를 사용하지 않으면 메모리 낭비.
  4. 삽입 및 삭제 비효율적: 요소를 추가하거나 삭제할 경우 배열을 복사해야 함.

6. 배열의 선언 방법

6.1 선언과 초기화 분리

  • 배열 선언:

    int[] numbers; // 배열 선언
  • 배열 초기화:

    numbers = new int[5]; // 크기가 5인 정수 배열 생성

6.2 선언과 초기화를 동시에

  • 배열 선언과 초기화를 동시에 수행:

    int[] numbers = new int[5]; // 크기가 5인 배열 생성

6.3 초기값을 이용한 초기화

  • 배열 요소를 직접 지정:

    int[] numbers = {10, 20, 30, 40, 50}; // 크기 5, 초기값 지정

6.4 다차원 배열

  • 2차원 배열:

    int[][] matrix = new int[3][4]; // 3행 4열 배열 생성
  • 선언과 초기화:

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

7. 배열 예제

public class ArrayExample {
    public static void main(String[] args) {
        // 1. 배열 선언과 초기화
        int[] numbers = {10, 20, 30, 40, 50};

        // 2. 배열 요소 접근
        System.out.println("첫 번째 요소: " + numbers[0]); // 출력: 10
        System.out.println("세 번째 요소: " + numbers[2]); // 출력: 30

        // 3. 배열 크기
        System.out.println("배열 크기: " + numbers.length); // 출력: 5

        // 4. 배열 요소 변경
        numbers[1] = 25;
        System.out.println("두 번째 요소 변경 후: " + numbers[1]); // 출력: 25

        // 5. 배열 순회
        System.out.println("배열 요소 출력:");
        for (int num : numbers) {
            System.out.println(num);
        }
    }
}

출력 결과:

첫 번째 요소: 10
세 번째 요소: 30
배열 크기: 5
두 번째 요소 변경 후: 25
배열 요소 출력:
10
25
30
40
50

8. 요약

  • 정의: 동일한 자료형 데이터를 저장하는 연속된 메모리 공간.
  • 3요소: 배열 이름, 인덱스, 요소.
  • 특징: 고정 크기, 동일 자료형, 연속된 메모리.
  • 장점: 빠른 접근, 단순 관리, 효율적 메모리 사용.
  • 단점: 크기 변경 불가, 메모리 낭비 가능성.
  • 선언 방법:
    • int[] arr = new int[5]; (크기 지정)
    • int[] arr = {10, 20, 30}; (초기값 지정)

'자바 > 자바 문법' 카테고리의 다른 글

정형화 코드(모델 클래스)  (0) 2025.01.31
데이터 타입의 종류와 기본값  (0) 2025.01.26
보조 제어문(break, continue)  (0) 2025.01.26
반복문이란?  (0) 2025.01.26
Swap(값 교환)이란?  (0) 2025.01.26