항목 42. private 계승을 바르게 사용하라.
이유
1. 환상코드의 필요 조건이 된다!
깔끔한 코드로 유지 할수 있지만, 몇가지 주의점이 있다. 2008/07/18 14:45 수정
해결 방법
1. private 계승을 똑바로 이해해야 한다. 이것은 각종 상속에 따른 데이터 접근에 대해서 이해가 필수조건이다.
클래스 내부의 public protected private의 인터페이스를 public projected private 로 상속했을때의 접근도를 이해해야만 한다.
코드로 표현하고, 주석을 달아 둔다. 2008/07/18 14:45 수정
2. 레이어드 상속(has a)을 할 수 있을때는 has a 관계로 상속한다.
2. has a 상속패턴이 된다면 hsa a 패턴으로 상속 하는게 좋다. 2008/07/18 14:45 수정
3. private 상속(is implemented in terms of)을 해야 할땐 is implemented in terms of 관계로 상속한다.
3. private: 상속을 할 확율이 높은 부분은 Base 클래스의 protected 에 접근할 필요가 있거나 비가상함수를 재정의하여 구현할 필요가 있을 때이다. 2008/07/18 14:45 수정
레이어드 방식 : 클래스내부에서 클래스 객체를 만들어 has a 관계로 계승
private 방식 : 클래스 계승을 pirvate로 하여 계승
레이어드방식 : 합성, 내장 등 다 같은 말로 has a로 표현하면 된다. 3판에선 객체합성이라 부른다.
private 방식 : 상속 패턴의 일부분인 구현해서 사용하겠다라는 의미이다. 3판 39항목을 보면 좋을듯 싶다.
2008/07/18 14:45 수정
참조 2008/07/18 14:45 수정 위의 코드로 보여줌
개인적인 생각
솔직히 이 기술은 아직 습득을 못했다. 그 이유는 아직 안전성에 대한 개념이 부족하다!
참조 2008/07/18 14:45 수정 여전이 기술 습득이 어렵다.
.. 여전이 나는 멍청하다는것을 일깨워 주는 .. 항목 42다!
참조 2008/07/18 14:45 수정 .. 이것도 여전히..
이유
1. 환상코드의 필요 조건이 된다!
깔끔한 코드로 유지 할수 있지만, 몇가지 주의점이 있다. 2008/07/18 14:45 수정
해결 방법
1. private 계승을 똑바로 이해해야 한다. 이것은 각종 상속에 따른 데이터 접근에 대해서 이해가 필수조건이다.
클래스 내부의 public protected private의 인터페이스를 public projected private 로 상속했을때의 접근도를 이해해야만 한다.
코드로 표현하고, 주석을 달아 둔다. 2008/07/18 14:45 수정
2. 레이어드 상속(has a)을 할 수 있을때는 has a 관계로 상속한다.
2. has a 상속패턴이 된다면 hsa a 패턴으로 상속 하는게 좋다. 2008/07/18 14:45 수정
3. private 상속(is implemented in terms of)을 해야 할땐 is implemented in terms of 관계로 상속한다.
3. private: 상속을 할 확율이 높은 부분은 Base 클래스의 protected 에 접근할 필요가 있거나 비가상함수를 재정의하여 구현할 필요가 있을 때이다. 2008/07/18 14:45 수정
레이어드 방식 : 클래스내부에서 클래스 객체를 만들어 has a 관계로 계승
private 방식 : 클래스 계승을 pirvate로 하여 계승
레이어드방식 : 합성, 내장 등 다 같은 말로 has a로 표현하면 된다. 3판에선 객체합성이라 부른다.
private 방식 : 상속 패턴의 일부분인 구현해서 사용하겠다라는 의미이다. 3판 39항목을 보면 좋을듯 싶다.
2008/07/18 14:45 수정
참조 2008/07/18 14:45 수정 위의 코드로 보여줌
개인적인 생각
솔직히 이 기술은 아직 습득을 못했다. 그 이유는 아직 안전성에 대한 개념이 부족하다!
참조 2008/07/18 14:45 수정 여전이 기술 습득이 어렵다.
.. 여전이 나는 멍청하다는것을 일깨워 주는 .. 항목 42다!
참조 2008/07/18 14:45 수정 .. 이것도 여전히..
'책 정리 > Effective C++ 2판' 카테고리의 다른 글
항목 45 ~ 50까지 요약정리 (0) | 2008.05.14 |
---|---|
항목 44. 의미하는 바를 표현하도록 하라; 자신이 표현한 것의 의미를 이해하도록 하라. (0) | 2008.05.14 |
항목 43. 다중 계승을 바르게 사용하도록 하라 (1) | 2008.05.14 |
항목 41. 계승과 템플릿과의 차이점을 이해한다. (0) | 2008.05.14 |
항목 40. 레이어링을 통해 가지고 있는 것과 사용하여 구현된것을 모델링하도록 한다. (0) | 2008.05.12 |
항목 39. 계층도의 아래쪽 클래스로 다운캐스트 하지 않도록 한다. (0) | 2008.05.12 |
항목 38. 계승된 부재 인자값을 재정의하지 않도록 한다. (0) | 2008.05.12 |
항목 37. 계승된 비가상 함수를 재정의하지 않도록 한다. (2) | 2008.05.12 |
항목 36. 인터페이스 계승과 구현의 차이점을 이해해라 (0) | 2008.05.12 |
항목 35. public 계승이 isa를 모델링하도록 하라. (0) | 2008.05.11 |
최근댓글