프리팩토링책을 보다가 다형성에 관한 좋은 예제가 하나 있어서 글을 올려본다.

때에 따라서 적당한 상속방법이 있겠지만, 구현상속와 인터페이스 상속간에 장단점을 알고 사용을 하는 것이 좋을 것이다.


구현 상속

class Component{
      draw();
      hide();
}

class MyComponent extends Component{
      // 무엇을 오버라이딩 해야 할지가 불분명하다.
}



인터페이스 상속

interface Component{
     draw();
}

class BaseComponent{
  Component a_component;
  draw(){
        a_component.draw();
  }

class MyComponent implements Component{
  draw(){
        // 이 클래스에 알맞는 그리기 구현
  }


Posted by ologist

블로그 이미지
ologist

공지사항

Yesterday191
Today136
Total34,708

달력

 « |  » 2012.02
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

최근에 받은 트랙백

글 보관함