티스토리 뷰
class aa { private int v; public int vg { set { v = value; } get { return v; } } }; class Program { static void Main(string[] args) { aa ss = new aa(); ss.vg = 2; Console.WriteLine(ss.vg); } }
클래스 aa의 멤버변수 int형 v는 private로 접근권한이 설정되어 있습니다.
그래서 외부에서 사용시 컴파일 에러가 나게되는데 c++에선 그럴떄 따로 set함수를 만들어 줌니다.
하지만 c#에선 set과 더불어 get도 따로 키워드가 존재합니다.
그 속성정의의 이름은 vg이며 set을 정의하지 않으면 외부에서 해당 vg의 int형 v에 값을 줄 수가 없고
반대로 get을 정의하지 않으면 외부에 줄수 없지만 받기는 하는 형태로 됩니다.
쉽게 말해 set을 정의하지 않고 get만 정의하면 읽기 전용이 되버리고
get을 정의하고 set을 정의하면 쓰기 전용이 됩니다.