상속
상속관계는 is a 관계
- Person is a Object, Employee is a Person
단일상속
- 다중 상속의 경우 여러 클래스의 기능을 물려받을 수 있으나 관계가 매우 복잡해짐
- 자바에서는 단일 상속만 지원한다 (대신 interface와 포함 관계(has a)로 단점을 극복)
포함관계
상속 이외에 클래스를 재활용 하는 방법
2개 이상의 클래스에서 특성을 가져올 때 하나는 상속, 나머지는 멤버 변수로 처리
public class Sman extends Person {
Spider spider; // Spider 객체를 선언
boolean isSpider;
void fireWeb() {
if(isSpider){
spider.fireWeb();
} else{
System.out.println("Person은 거미줄 발사 불가");
}
}
}
어떤 클래스를 상속 받고 어떤 클래스를 포함해야 하는가?
상속 : is a 관계가 성립하는가? (SpiderMan is a Person)
포함 : has a 관계가 성립하는가? (SpiderMan has a Spider)
'Java' 카테고리의 다른 글
[Java] Collection Framework (0) | 2022.07.26 |
---|---|
[Java] 접근제한자 (0) | 2022.07.22 |
[Java] 다형성(Polymorphism) (0) | 2022.07.21 |
[Java] Singleton 디자인 패턴 (0) | 2022.07.21 |
[Java] 메서드 재정의 (0) | 2022.07.21 |