포스트를 만든 목적
- 심심해서...
내용
C++을 보았다면, 클래스 내부 객체를 레퍼런스나 포인터로 뽑아 내는게 껄끄럽다는 건 알고 있을 것이다. 그러므로 이 껄끄러운 것을 시원하게 없애 줄 방법들 몇가지에 대해서 정리한다.
왜 껄끄러운가?
.. 사생활에 간섭 받으면 껄끄러운 것과 같다. 어디에서든지 개입시킬 수 있는건 ... 어디에서든지 버그가 발생할 수 있다는 의미와 똑같기 때문이다.
어떻게 대처 해야 하는가?
밖으로 사생활을 보여주지 않으면 그만이지만, 살다보면 안 될 수도 있다. 그래서 대충 4가지 정도 내숭이 있다.
- value 타입을 이용하기
- immutable 타입 사용하기
- 읽기용 interface 이용하기
- 읽기용 wapper 이용하기
결론
- reference를 반환할 땐, 내숭을 부리자.
여담
- .. 졸리다.
'책 정리 > Effective C#' 카테고리의 다른 글
item 28, 형변환 연산자의 구현을 피하라 (0) | 2010.07.21 |
---|---|
item 27, ICloneable의 구현을 피하라 (4) | 2010.07.20 |
item 26, IComparable과 IComparer를 이용하여 순차관계를 구현하라 (6) | 2010.07.19 |
item 25, serializable 타입이 더 좋다. (0) | 2010.07.18 |
item 24, 명령적 프로그래밍보다 선언적 프로그래밍이 더 좋다. (0) | 2010.07.14 |
item 22, 이벤트를 이용하여 외부로 노출할 인터페이스를 정의하라. (0) | 2010.07.10 |
item 21, delegate를 이용하여 콜백을 표현하라. (1) | 2010.07.10 |
item 20, interface의 구현과 virtual 메서드의 overriding을 구분하라. (0) | 2010.07.10 |
item 19, 상속보다는 interface를 정의하고 구현하는 것이 좋다. (1) | 2010.07.07 |
item 18, 표준 Dispose 패턴을 구현하라. (2) | 2010.07.06 |
최근댓글