ITEM 18 : Distinguish Between Value Types and Reference Types
(값 타입과 참조 타임을 구별하라)
n 요약 및 장점
1. Structs는 데이터를 저장하고, Classes는 행동을 정의한다.
2. 자바에서는 모든 사용자 정의 타입들은 참조 타입이다. 또한 모든 파라미터와 리턴값은 참조타입이다. 이것은 일관성을 유지한다는 장점이 있지만, 성능이 좋지 않다. C#에서는 struct/class 키워드를 통해서 value type과 reference type을 선택할 수 있다.
3.아래의 4가지의 항목을 모두 충족한다면 value type으로 생성해야만 한다.
① 타입의 주요한 책임이 데이터 저장인가?
② 프로퍼티에 의해 완전히 정의된 공용 인터페이스가 데이터 멤버를 접근하는가?
③ 타입이 절대 subclass를 갖지 않는가?
④ 타입이 절대 다형성을 갖지 않는가?
n Terms
n 해석이 잘 안되거나 중요한 내용
n 단어
1. preferring : 선호하는
2. polymorphic: 다형성
3. consistent :일관성
4. far-reaching : 지대한 영향을 가져올
5. principal : 주요한 / 교장
6. entirely : 전적으로, 완전히, 전부
'프로그래밍 > Effective C#' 카테고리의 다른 글
ITEM 20 : 변경불가능한 아토믹 값타입을 선호해라 (0) | 2015.05.06 |
---|---|
ITEM 19 : 값 타입에 대해서 0값이 유효한 상태가 되게 반드시 보장해야한다. (0) | 2015.04.30 |
ITEM 17 : 표준 Dispose 패턴을 구현하라 (0) | 2015.04.23 |
ITEM 16 : 불필요한 오브젝트 생성을 하지마라 (0) | 2015.04.23 |
ITEM 15 : 리소스 해제를 위해서 using과 try/finally 구문을 사용하라. (0) | 2014.05.30 |