class MyClass
{
public int MyField
{
get;
set;
}
}
getter setter를 줄여주는 C#의 킹갓 기능
property 와 그마저도 줄여주는 auto-property.
get;만쓰면 setter는 없고
set만 쓰면 getter는 없고
getter과 setter를 좀더 자세하게 구현하고싶으면 저기다가 구현하면된다.
여기서 그냥 get;set;만 쓰는경우
대체 public과 무엇이 다른가! 내부적으로 다르다고 한다.
그런데 내부적으로 다른게 대체 뭐가 중요한지 결국 public과 똑같이 작동하고
똑같이 사용하는데 그냥 public과 대체 무엇이 다른건가 궁금해서 찾아 보았다.
간단히 설명하자면 auto-property가 존재한다는것은
내가 MyClass.MyField를 했을때 이게 auto-property가 자동으로 만들어준 그냥 getter인지
내가 get을 수정하여 자세하게 구현한 getter인지 MyClass.MyField 만으로 알수없어서 캡슐화에 어긋나는것이 아니라고 한다.
728x90
'프로그래밍 언어 노트 > C#' 카테고리의 다른 글
[C#] orderby를 활용한 간단한 셔플 (0) | 2018.12.28 |
---|---|
[C#/WPF] XAML을 사용하여 WPF에서 Windows Forms 컨트롤 호스팅 (0) | 2018.12.03 |
[C#/Winform] Microsoft Automatic Graph Layout (MSAGL) (0) | 2018.12.03 |
[Visual Studio] 메서드 자동완성 기능 플러그인 (C# Methods Code Snippets) (0) | 2018.10.07 |
[C#] 7.0 새로운 기능 out과 함께 초기화 (0) | 2018.10.07 |