상속 [Is a 관계 => 사자는 동물이다.]
객체와 객체간의 관계
Parent class [=super class]
child class [=sub class]
Reference Type : Type Casting에 관하여
부모클래스가 자식클래스보다 크다.
관련성이 없는 클래스를 상속한다면,
is not a 관계가 발생하고, 상속의 좋은 예라고 볼 수 없다.
두 클래스가 IS A 관계가 아니라면, 그 두 클래스는 서로 다른 역할을 수행한다는 의미를 갖는다.
extends 상속은 정말 필요할 때만 쓰자!
is a 관계는 아니지만, 필요한 기능이라면
조립(Composition)하여 재사용할 것을 권한다.
조립을 통한 재사용은 다음과 같이 필드로 재사용할 객체를 정의하고
메서드 내부에서 해당 필드를 사용하는 식으로 구현된다.
조립의 장점 : 런타임에 재사용할 기능을 교체할 수 있다.
- 상속은 코드를 수정하여 재컴파일해야하는 번거로움이 있다.
반응형
'JAVA > OOP' 카테고리의 다른 글
OOP : Overlading (오버로딩 - 다형성) & Overriding(재정의 - 상속) (0) | 2015.02.05 |
---|---|
OOP : Encapsulation (캡슐화) (0) | 2015.02.05 |
OOP : Polymorphism (상속/인터페이스에 의한 다형성) (0) | 2015.02.04 |
OOP : Abstraction (추상화) (0) | 2015.02.04 |
객체지향의 5원칙 (SOLID) (0) | 2015.02.04 |