본문 바로가기

JAVA/OOP

OOP : Inheritance (상속)

상속 [Is a 관계 => 사자는 동물이다.]

 객체와 객체간의 관계

Parent class [=super class]

child class [=sub class]


Reference Type : Type Casting에 관하여

부모클래스가 자식클래스보다 크다.


관련성이 없는 클래스를 상속한다면, 

is not a 관계가 발생하고, 상속의 좋은 예라고 볼 수 없다.

두 클래스가 IS A 관계가 아니라면, 그 두 클래스는 서로 다른 역할을 수행한다는 의미를 갖는다.


extends 상속은 정말 필요할 때만 쓰자!


is a 관계는 아니지만, 필요한 기능이라면 

조립(Composition)하여 재사용할 것을 권한다.



조립을 통한 재사용은 다음과 같이 필드로 재사용할 객체를 정의하고 

메서드 내부에서 해당 필드를 사용하는 식으로 구현된다.

조립의 장점 :     런타임에 재사용할 기능을 교체할 수 있다.

   - 상속은 코드를 수정하여 재컴파일해야하는 번거로움이 있다.



반응형