작성
·
346
0
public string Name {
get { return name; }
set { name = value; }
}
윗 코드를 줄여서
아래와 같이 축약 할 수 있다고 강의를 해주셨는데
public string Name { get; set; }
만약 setter에 조건문이 있을 경우에는
public string Name {
get;
set{ 조건문 };
}
이런 형식이 되는 것인지요 ?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다.
네, 맞습니다. 님께서 제시해주신 코드는 C#의 자동 구현 프로퍼티(auto-implemented property)를 사용하는 것으로, 세터에 추가 로직(조건문)을 포함할 때는 다음과 같이 작성할 수 있습니다.
private string name;
public string Name {
get { return name; }
set {
if (/* 조건 */) {
name = value;
}
}
}
public string Name { get; set; }
형태는 별도의 로직이 없을 때 그리고 필드를 별도로 선언하지 않아도 내부적으로 자동으로 처리되는 간단한 프로퍼티 선언입니다. 하지만 세터에 조건문 같은 특정 로직을 추가해야 한다면 위와 같이 전체 프로퍼티를 명시적으로 구현해야 합니다. 이 경우 자동 구현 프로퍼티가 아니게 되며, 필요한 로직을 수행하는 코드를 포함할 수 있습니다.