프로퍼티 : 캡슐화의 기본.
은닉화된 맴버는 자유롭게 접근할 수 없으므로,
get – set을 이용하여 접근한다.
프로퍼티를 사용하여 객체의 상태를 읽고 쓸 수 있으며, 내부 데이터에 대한 보호와 유효성 검사를 수행할 수 있다.
①필드 변수에 대한 접근함수
②쉽게 전용 필드의 값을 Read & Write할 수 있는 매커니즘
③
-get, set 키워드
-정보 은닉
-참조 정보 확인
-일반 변수처럼 사용
④프로퍼티가 없는 경우 Gatter, Setter를 통해서 접근해야하는 번거로움이 있다.
[접근 제한자] [데이터 타입] [프로퍼티 이름]
{
get
{
// getter 로직
return [반환할 값];
}
set
{
// setter 로직
[반환할 값] = value;
}
}
public int Num
{
get
{
return m_Num;
}
//
set
{
m_Num = value;
}
}
return 키워드로 get처리
value키워드로 set처리
get만 구현한다면 읽기전용
set만 구현한다면 쓰기전용
private 지정자의 값에 접근할 수 있도록 한다.
프로퍼티는 메서드처럼 호출하여 사용하지 않고, 멤버 변수처럼 직접 참조하여 사용한다.
프로퍼티의 값을 가져오기 위해서는 프로퍼티 이름으로 접근하고, 값을 설정하기 위해서는 프로퍼티 이름에 값을 대입한다.
조금더 간단한 방식으로는
public int NumAuto { get; set; }
방법이 있다.
특별한 처리를 하지 않는다면, 위와 같은 방식이 간편하다.
즉, get, set함수를 따로 만들어주지 않고 private 값에 접근할 수 있도록 해주는 것이다.
⑥지정한 값이 초기화 되도록 프로퍼티를 만들 수도 있다.
name의 기본값을 NoName으로 초기화 하는 코드.
public string Name { get; set; } = "NoName";