본문 바로가기
프로그래밍/C#.net

[effective C#] item #14: 연쇄적인 생성자를 호출하라.

by 건우아빠유리남편 2009. 8. 24.
반응형
ITEM #14: 연쇄적인 생성자 호출을 이용하라.
 
어떤 클래스에서 다수의 생성자 내에서 중복적으로 수행되고 있는 코드가 있으면,중복코드들을 새로운 생성자로 분리시켜 호출하는 방식으로 초기화를 수행하도록 하자.
 
C#에서 대부분의 클래스들은 하나 이상의 생성자를 가지고 있고,이 생성자들의 역할이 객체의 멤버들을 초기화하는 것이기 때문에 생성자의 연쇄 호출방식을 이용하여 객체 멤버들을 초기화하는 것은 매우 자연스럽다.

인스턴스 과정에서 내부적으로 수행되는 순서
1. static 변수를 0으로 설정한다.
2. static 변수에 대해 선언시 초기화 루틴을 수행한다.
3. 기반 클래스의 static 생성자를 수행한다.
4. static 생성자를 호출한다.
5. 인스턴스 변수를 0으로 설정한다.
6. 인스턴스 변수에 대해 선언시 초기화 루틴을 수행한다.
7. 기반 클래스의 인스턴스 생성자를 수행한다.
8. 인스턴스 생성자를 호출한다.
 
정리
- 간단한 리소스는 선언시 초기화를 사용
- 복잡한 초기화 과정이 필요하면 생성자를 사용
- 생성자의 연쇄호출을 사용

반응형

댓글