이번 항목은 한가지 전제를 깔고, 그 문제를 풀어보면서 "앞으로 이런 문제에 부딛쳐 힘에 지칠 때 도움이 될 것이다" 라고 이야기 한다.

이 BaseA 와 BaseB에 있는 ReadBuf 는 다른 일을 하지만 같은 시그너처를 가진 함수 이다. 이 두 클래스를 public 상속을 한 Derived 클래스를 만들고, 각기 다른 ReadBuf가 호출 될 수 있도록 오버라이드 하라.


해설

처음에 내가 생각해 낸 방법은, "상속만 하고 아무것도 하지않는다" 이다. 여기에 문제점은 바로 Derived 에서 ReadBuf 를 호출 할 수 없다는 데에 있다.

처음 생각해 낸 코드

결국 나는 해답을 봤고, 무릎을 탁 쳤다! "wrapper class!" 그렇다 한번 더 감싸서 이름을 변경시키면 된다 다음 코드를 보자.


해결 코드

이런식으로 해결 하면 된다. : )


총평

wrapper 란 개념은 ... 손오공 초사이어인으로 변하게 하는 강함을 보여준다. 그 강함은 "새롭게 꾸며 더 강하게(유용)"사용 하자로 말 할 수 있겠다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기