Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 정적(고정 길이) 배열이란? 개념과 사용 예제 총정리

정적 배열(static array)은 생성 시점에 크기가 고정되어 이후 변경할 수 없는 데이터 구조입니다. C#에서 배열은 한 번 선언되면 요소의 개수를 늘리거나 줄일 수 없기 때문에, 기본적으로 모든 배열은 고정 길이를 가진다고 볼 수 있습니다.

정적 배열의 기본 예시

다음은 문자열 형태의 정적 배열입니다. 배열에 담긴 데이터는 고정되어 있으며, 실행 중에 크기가 변하지 않습니다.

static string[] _fruits = new string[] {
    "apple",
    "mango"
};

정적 배열 생성 및 접근하기

아래는 C#에서 정적 배열을 선언하고, 이를 프로퍼티(property)를 통해 외부에서 접근하는 전체 예제입니다.

using System;

class Demo {
    static void Main() {
        foreach (string fruits in Program.Fruits) {
            Console.WriteLine(fruits);
        }
    }
}

public static class Program {

    static string[] _fruits = new string[] {
        "apple",
        "mango"
    };

    public static string[] Fruits {
        get {
            return _fruits;
        }
    }
}

코드 설명

Program 클래스 내부에는 private 정적 필드 _fruits가 선언되어 있으며, 여기에 "apple"과 "mango" 두 개의 과일 이름이 고정 요소로 저장됩니다.

Fruits 프로퍼티는 읽기 전용(get 접근자만 존재)으로 정의되어 있어, 외부 코드에서는 배열을 조회할 수만 있고 새로운 배열로 교체할 수 없습니다.

Demo 클래스의 Main 메서드에서는 foreach 반복문을 사용해 Program.Fruits 배열의 각 요소를 순회하며 콘솔에 출력합니다.

실행 결과

apple
mango

정적 배열의 특징 정리

  • 고정된 크기: 배열 생성 시 결정된 길이는 이후 변경할 수 없습니다.
  • 빠른 접근 속도: 인덱스를 통한 직접 접근이 가능해 성능이 우수합니다.
  • 메모리 효율성: 크기가 변하지 않으므로 메모리 관리가 단순합니다.
  • 유연성 제한: 실행 중 요소 추가·삭제가 필요하다면 List<T> 같은 동적 컬렉션을 사용하는 것이 좋습니다.

이처럼 데이터의 개수가 미리 정해져 있거나 변하지 않는 경우, 정적 배열은 간결하고 효율적인 선택이 될 수 있습니다.