클래스의 멤버 변수를 private, public 으로 선언할 것인가에 따라 정보은닉, 정보공개를 고민하게 된다.
private 로 선언하면 getter 메소드, setter 메소드를 구현해야 한다.
C# 언어에서는 다양한 이유로 프로퍼티의 사용을 장려한다. 지금까지도 타입(type)에서 public 데이터 변수를 사용하거나, get/set류의 메서드를 직접 만들어서 사용하고 있다면 이제 그런 방법을 사용하지 않는 것이 좋다. 프로퍼티는 우리가 만든 타입의 값을 외부에서 접근할 수 있도록 하면서 동시에 객체지향에서 논의되는 캡슐화를 지원한다. 프로퍼티는 데이터 멤버처럼 접 근가능하면서 메서드의 형태로 구현되는 C# 언어의 요소이다.
프로퍼티(속성)를 사용하면 클래스가 구현 또는 코드를 숨기는 동시에 값을 가져오고 설정하는 방법을 공개적으로 노출할 수 있다.
- get 속성 접근자는 속성 값을 반환하고, set 접근자는 새 값을 할당하는데 사용한다.
- set 접근자의 value 키워드는 set 접근자가 할당하는 값을 정의하는데 사용한다.
- set 접근자만을 구현하면 쓰기 전용, get 접근자만을 구현하면 읽기 전용이다.
- value : set 접근자 사용 시 사용되는 암묵적 매개변수
자동구현 프로퍼티
using System; |
'C# > 문법 및 기능' 카테고리의 다른 글
C# 인터페이스 (0) | 2019.08.18 |
---|---|
C# 구조체(Struct) (0) | 2019.08.14 |
C# 접근 제한자(Access Modifier) (0) | 2019.08.13 |
자바와 C#의 차이점 (0) | 2016.12.27 |
C# NameValueCollection (0) | 2016.03.20 |