정적 배열(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>같은 동적 컬렉션을 사용하는 것이 좋습니다.
이처럼 데이터의 개수가 미리 정해져 있거나 변하지 않는 경우, 정적 배열은 간결하고 효율적인 선택이 될 수 있습니다.