C#/WPF
[WPF] 생성자 단위 초기화와 필드 단위 초기화
HJ0216
2024. 6. 4. 17:34
현재 프로젝트를 진행하고 있는데, 특정 API를 호출해서 사용하고 있습니다.
무얼 정리하면 좋을까하다가 java와 달리 C#에서는 필드라는 개념이 추가적으로 있는데, 이와 관련하여 정리해보고자 합니다.
생성자를 이용한 초기화
1
2
3
4
5
6
7
8
9
10
11
|
private string _initializationConstructor;
public string InitializationConstructor
{
get { return _initializationConstructor; }
set { _initializationConstructor = value; }
}
public ViewModelMain()
{
InitializationConstructor = "Initialize with Constructor";
}
|
특징
* 생성자 매개변수를 통해 초기값을 유연하게 설정
* 클래스의 필드 및 속성 초기화가 모두 끝난 후에 생성자가 호출
필드에서의 직접 초기화
1
2
3
4
5
6
7
|
private string _initializationField = "Initialize with Field";
public string InitializationField
{
get { return _initializationField; }
set { _initializationField = value; }
}
|
특징
* 간단한 값을 초기화할 때 사용
* 생성자 호출 전에 초기화
만일 필드에서의 초기값과 생성자를 활용한 초기값을 한 번에 설정한다면?
생성자는 필드 및 속성 초기화가 끝난 후에 호출되기 때문에, 필드 초기화한 값을 생성자에서 다시 설정할 경우 생성자 기준으로 값이 설정됨