공부/C++ \C#

c# init 키워드

Lero God 2023. 7. 26. 12:39

프로퍼티의 get 지정자에 private 을 붙이면 선언한 클래스(구문) 내에서만 수정이 가능하다. 

init 키워드를 사용하면 private 보다 더 제한된 방법으로만 변수를 바꿀 수 있다.

init 키워드를 사용하면 초기화 시점 외에는 변수 변경이 불가능하다.

class Person
{
	public string Name { get; init;}

	private string _name;
}

int Main()
{
    var john = new Person
    {
        Name = 1984
    };

    john.Name = 1926; //Not allowed, as its value can only be set once in the constructor
}

init 보다 값 변경을 더 제한하는 키워드는 readonly, const 이다.