• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

getter 와 setter를 사용하는 이유 질문드립니다.

20.03.18 03:18 작성 조회수 227

0

getter 와 setter를 사용하는 이유가 에러를 검증하기 위한 것이라고 말씀하셨는데, public string Name { get; set;} 이 문법을 사용할 땐 어떻게 에러를 검증하나요?

답변 1

답변을 작성해보세요.

0

좋은 질문 감사합니다. 프로퍼티는 꼭 에검증을 위해서 사용하지는 않습니다. 질문과 같이 약식으로 쓰면 컴파일때 getter, setter로 확장되게 됩니다. 따라서 오류를 검증하려면 정식으로 getter, setter를 만들어서 사용해야 합니다. 약식으로 사용할 때는 오류 검증보다 대외적으로 값을 전달할 목적으로 사용합니다. 그렇다고 public 멤버변수를 사용하지 않는데 그것은 여러가지 이유가 있습니다. 첫째는 public string Name{get;} 등과 같이 사용해서 읽기 전용으로도 사용할 수 있고 public string Name {get; private set} 등과 같이 접근 범위를 통제할 수도 있습니다. 특히 데이터베이스 테이블 하나에 매핑되는 클래스를 만들었다면 각 컬럼에 해당하는 프로퍼티를 만들어 사용해서 Student.Name, Student.Address와 같이 사용할 수 있는데 이 경우 오류 체크의 목적으로 사용하는 것은 아니지요.