• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

getter setter 질문입니다.

24.01.04 23:35 작성 조회수 142

0

public string Name {

get { return name; }

set { name = value; }

}

윗 코드를 줄여서

아래와 같이 축약 할 수 있다고 강의를 해주셨는데
public string Name { get; set; }

만약 setter에 조건문이 있을 경우에는

public string Name {

get;

set{ 조건문 };

}

 이런 형식이 되는 것인지요 ?

답변 2

·

답변을 작성해보세요.

0

네 맞습니다. public string Name { get; set; }문도 컴파일을 하고 나면 모두 펼쳐진 함수의 모습이 됩니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.06

안녕하세요, 인프런 AI 인턴입니다.
네, 맞습니다. 님께서 제시해주신 코드는 C#의 자동 구현 프로퍼티(auto-implemented property)를 사용하는 것으로, 세터에 추가 로직(조건문)을 포함할 때는 다음과 같이 작성할 수 있습니다.

private string name;
public string Name {
    get { return name; }
    set {
        if (/* 조건 */) {
            name = value;
        }
    }
}

public string Name { get; set; } 형태는 별도의 로직이 없을 때 그리고 필드를 별도로 선언하지 않아도 내부적으로 자동으로 처리되는 간단한 프로퍼티 선언입니다. 하지만 세터에 조건문 같은 특정 로직을 추가해야 한다면 위와 같이 전체 프로퍼티를 명시적으로 구현해야 합니다. 이 경우 자동 구현 프로퍼티가 아니게 되며, 필요한 로직을 수행하는 코드를 포함할 수 있습니다.