IMCAT.DEV
로그인 가입
Java 입문 자료구조

Java 배열 기초

Java 배열 기초 — 초급

배열 기초

1. 도입 (왜 배워야 하는가)

배열은 프로그래밍에서 가장 기본적이고 중요한 데이터 구조 중 하나입니다. 실무에서는 데이터의 집합을 효과적으로 관리해야 할 때 배열을 자주 사용합니다. 예를 들어, 쇼핑몰에서 고객의 장바구니에 담긴 여러 제품을 관리하거나, 게임에서 플레이어의 점수를 기록할 때 배열을 사용합니다. 배열을 이해하지 못하면 데이터를 저장하고 처리하는 데 어려움을 겪게 되어, 프로그램의 효율성과 성능에 큰 영향을 미칠 수 있습니다.

2. 핵심 개념 설명

배열이란?

배열은 동일한 데이터 타입의 여러 값을 저장할 수 있는 데이터 구조입니다. 마치 여러 개의 상자가 하나의 큰 상자에 담겨 있는 것과 같습니다. 각 상자는 인덱스를 통해 접근할 수 있으며, 인덱스는 0부터 시작합니다.

실생활 비유

배열을 책장에 비유해보면, 각 책이 배열의 요소가 되고, 책장이 배열 자체가 됩니다. 책장은 여러 개의 책을 담을 수 있고, 각 책은 특정 위치(인덱스)에 놓입니다. 따라서 특정 책을 찾고 싶을 때, 책장의 번호를 통해 쉽게 접근할 수 있습니다.

관련 용어 정리

용어설명
인덱스배열의 각 요소가 위치한 번호
요소배열에 저장된 데이터
초기화배열을 생성하고 값을 설정하는 과정

3. 기본 코드 예제

아래는 간단한 정수 배열을 생성하고 값을 출력하는 코드입니다.

public class ArrayExample {
    public static void main(String[] args) {
        // 정수형 배열 생성 및 초기화
        int[] numbers = {1, 2, 3, 4, 5};

        // 배열의 각 요소 출력
        for (int i = 0; i < numbers.length; i++) {
            System.out.println("Element at index " + i + ": " + numbers[i]);
        }
    }
}

실행 결과

Element at index 0: 1
Element at index 1: 2
Element at index 2: 3
Element at index 3: 4
Element at index 4: 5

코드 한 줄씩 동작 설명

  1. int[] numbers = {1, 2, 3, 4, 5}; - 정수형 배열을 생성하고 1부터 5까지의 값을 초기화합니다.
  2. for (int i = 0; i < numbers.length; i++) { - 배열의 길이만큼 반복하는 루프를 시작합니다.
  3. System.out.println("Element at index " + i + ": " + numbers[i]); - 현재 인덱스의 요소 값을 출력합니다.
  4. 4. 실전 활용 예제

    예제 1: 쇼핑몰 장바구니

    쇼핑몰에서 고객의 장바구니에 담긴 제품의 가격을 배열로 관리할 수 있습니다.

    public class ShoppingCart {
        public static void main(String[] args) {
            double[] cartPrices = {29.99, 15.99, 5.49, 75.00}; // 장바구니에 담긴 제품 가격
            double total = 0;
    
            for (double price : cartPrices) {
                total += price; // 총 가격 계산
            }
            System.out.println("Total price: " + total);
        }
    }

    예제 2: 학생 점수 관리

    학생의 점수를 배열로 관리하여 평균 점수를 계산할 수 있습니다.

    public class StudentScores {
        public static void main(String[] args) {
            int[] scores = {88, 92, 76, 81, 95};
            int sum = 0;
    
            for (int score : scores) {
                sum += score; // 점수 합산
            }
            double average = sum / (double) scores.length; // 평균 계산
            System.out.println("Average score: " + average);
        }
    }

    5. 흔한 실수와 주의사항

    실수 1: 인덱스 범위 초과

    int[] numbers = {1, 2, 3};
    System.out.println(numbers[3]); // ArrayIndexOutOfBoundsException 발생
    • 올바른 코드: System.out.println(numbers[2]); (최대 인덱스는 2)
    • 실수 2: 배열 크기 지정 오류

      int[] numbers = new int[-5]; // 음수 크기는 허용되지 않음
    • 올바른 코드: int[] numbers = new int[5]; (양수 크기만 허용)

    6. 정리

  5. 배열은 동일한 데이터 타입의 여러 값을 저장할 수 있는 데이터 구조입니다.
  6. 배열의 인덱스는 0부터 시작하며, 각 요소는 인덱스를 통해 접근할 수 있습니다.
  7. 배열을 통해 데이터를 효율적으로 관리하고 처리할 수 있습니다.
  8. 배열의 범위 초과나 음수 크기 지정과 같은 일반적인 실수를 피해야 합니다.

다음에 학습하면 좋은 주제: 다차원 배열, 리스트와 배열의 차이, 정렬 알고리즘