Is - A , Has - A , Uses - A 관계

Posted 2009.08.13 15:23
객체 지향 언어에서 상속 관계는 보통 Is - A  관계로 표현된다. 
상위 클래스의 인스턴스가 사용되는 곳에는 어디든 하위 클래스 인스턴스가 쓰일 수 있기때문.

합성관계는 Has - A 관계라 부른다.
프론트엔드 클래스가 백엔드 클래스의 인스턴스를 가지고 있기 때문이다.

User - A 관계에서는 다른 클래스의 인스턴스를 생성하기는 하지만 이를 인스턴스 변수에 저장하지는 않는다. User - A 관계에서는 클래스가 객체를 사용한 다음 버린다.

  • 다형성을 활용하려면, 상속을 사용하는 것을 고려한다.
  • 어떤 클래스에서 단순히 다른 클래스의 기능이 필요한 경우라면, 합성 관계를 고려한다.
  • 구현하려는 클래스가 기존 클래싀와 거의 동일한 기능을 한다면, 상속 관계를 고려한다.


« PREV : 1 : 2 : 3 : 4 : 5 : 6 : 7 : ··· : 18 : NEXT »