반응형
C# : 프로퍼티(property)
프로그래밍 언어에서 클래스가 등장한 이후, 코딩을 하다보면 항상 반복적으로 작성되는 메서드(C/C++ 계열에서는 함수)를 간편하게 작성하기 위한 문법을 제공한다. 그중 프로퍼티는 set/get에 대해서 간단하게 정의를 해주는 문법이다.
프로퍼티 문법 예시
class Property
{
int tmp;
public int tmp
{
get { return tmp; }
set { tmp = value; }
}
// ...
}
Property ppy = new Property();
ppy.tmp = 5; // 쓰기
int a = ppy.tmp; // 읽기
예시에서 사용된 set의 value 는 C# 언어상 제공되는 예약어다. 또한 읽기만 가능한 멤버 변수로 만들 수도 있다.
예시의 컴파일러 결과
class Property
{
int tmp;
public void setTmp(int value)
{
this.tmp = value;
}
public int getTmp()
{
return this.tmp;
}
// ...
}
Property ppy = new Property();
ppy.setTmp(5); // 쓰기
int a = ppy.getTmp() // 읽기
위의 추가 예제처럼 실제로는 C/C++에서 흔히 볼 수 있는 형태로 변환이 된다. 즉, 프로퍼티는 코딩수를 줄이고, 직관적으로 알 수 있게 해주는 도와주는 형태의 문법이다.
(5.0 부터 지원되는) 프로퍼티 간략화
이전 버전방식이 유효한 상태에서 어차피 value값이 정해져 있는 경우에는 아예 키워드 get, set 만으로도 유효하다.
예시)
class Property
{
int tmp;
public int tmp
{
get;
set;
}
// ...
}
반응형
'C#' 카테고리의 다른 글
C# 싱글톤 패턴 : 동적 싱글톤 (0) | 2017.09.04 |
---|---|
C# Socket : 고정 구조체 만들기 (0) | 2017.07.11 |
C# WinForm : 문자 픽셀 측정 (0) | 2017.07.06 |
C# OpenCV : nuget을 이용한 OpenCV 개발환경 구축 (0) | 2017.06.22 |
C# : 콘솔 앱 프로젝트에서 콘솔 감추기 (0) | 2017.06.22 |