항목 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 수정 위의 코드로 보여줌

more..




개인적인 생각

more..



솔직히 이 기술은 아직 습득을 못했다. 그 이유는 아직 안전성에 대한 개념이 부족하다!
참조 2008/07/18 14:45 수정 여전이 기술 습득이 어렵다.

.. 여전이 나는 멍청하다는것을 일깨워 주는 .. 항목 42다!
참조 2008/07/18 14:45 수정 .. 이것도 여전히..
신고
posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요