정적 생성자는 클래스가 처음 사용될 때 단 한 번 실행되는 특별한 생성자입니다. 주로 정적 멤버를 초기화할 때 사용합니다.
1. 정적 생성자 기본 문법
class MyClass
{
static int count;
// 정적 생성자
static MyClass()
{
count = 0;
Console.WriteLine("정적 생성자 호출");
}
public MyClass()
{
count++;
Console.WriteLine($"인스턴스 생성, count = {count}");
}
}
2. 활용 예시
정적 생성자를 통해 복잡한 정적 멤버 초기화나 리소스 할당을 안전하게 수행할 수 있습니다.
class Config
{
public static readonly Dictionary<string, string> Settings;
static Config()
{
// 초기 설정 데이터 로딩
Settings = new Dictionary<string, string>
{
{ "AppName", "MyApp" },
{ "Version", "1.0.0" }
};
Console.WriteLine("설정 초기화 완료");
}
}
3. 주의사항
- 정적 생성자는 매개변수를 가질 수 없고, 형식마다 단 하나만 존재합니다.
- 명시적으로 호출할 수 없으며, CLR이 클래스 최초 사용시 자동 호출합니다.
- 멀티스레드 환경에서도 한 번만 실행되어 안전합니다.
'C#' 카테고리의 다른 글
| C# 메타데이터 읽기와 리플렉션(Reflection) (0) | 2026.04.30 |
|---|---|
| C# 애플리케이션 설정(Configuration) 관리 (0) | 2026.04.29 |
| C# 분할 클래스(Partial Class)와 메서드 이해하기 (0) | 2026.04.28 |
| C# 암호화(Cryptography) 기초 - AES, RSA (0) | 2026.04.28 |
| C# 정규 표현식(Regex) 고급 사용법 (0) | 2026.04.27 |