1.정적(static) 클래스
-한정자를 사용하여 특정 개체가 아니라 형식 자체에 속하는 정적 멤버를 선언할 수 있다.
-정적 멤버변수를 포함하는 타입이 있으면 인스턴스를 생성하기 전에 정적 멤버 변수를
초기화 해야한다.
-C# 에서는 정적 멤버 초기화구문과 정적 생성자 두 가지 기능을 제공.
2.정적멤버 초기화
-정적 멤버 선언 시 초기화를 하는 것. 일반 멤버처럼 초기화.
-정적 생성자보다 이전에 실행되며 베이스 클래스의 정적생성자가 있다 해도 보다 먼저 실행된다.

3.정적 생성자
-타입내에 정의된 모든 메서드,변수,속성에 최초로 접근하기 전에 자동으로 호출 되는 메서드.
-정적변수 초기화, 싱글턴 패턴을 작성할 수 있다.

-정적멤버 초기화에서 예외가 발생되면 TypelnitializationException을 던지고 응용프로그램 종료시킨다.
그때는 멤버초기화를 쓰기 껄꺼럽고 예외를 잡을 수 없기에 정적 생성자를 사용하자.

4.결론
-기본적으로 멤버초기화를 사용하되 예외 발생가능성이 있다면 정적생성자를 사용하자.
.
'C# > 이펙티브 C#' 카테고리의 다른 글
| 아이템16.생성자 내에서는 절대로 가상함수를 호출하지 마라. (0) | 2023.07.20 |
|---|---|
| 아이템15.불필요한 객체를 만들지 마라 (0) | 2023.07.19 |
| 아이템12. 할당 구문보다 멤버 초기화 구문이 좋다. (0) | 2023.07.03 |
| 아이템11. NET 리소스 관리에 대한 이해 (0) | 2023.07.02 |
| 아이템9.박싱과 언박싱을 최소화하라. (0) | 2023.06.30 |