다중 상속과 자바
자바는 다중상속을 지원하지 않는다.
이렇게 보면 그 이유를 알 수 있다. 인어에게 수영하라는 메소드를 줄때, 사람처럼 수영을 해야할까 물고기처럼 수영을 해야할까. 이를 다중 상속의 다이아몬드 문제라고 한다. 결국 다중 상속은 득실관계에서 실이 더 많았기에 자바와 C#은 다중상속을 포기했다. 자바는 인터페이스를 도입해 다중 상속의 득은 취하고 실은 버렸다고 한다.
이에 대해 알아보자.
상속
상속관계 : 하위 클래스 is a kind of 상위 클래스
해석 : 하위 클래스는 상위 클래스의 한 분류다.
예제 : 고래는 동물의 한 분류다.
이렇게 정리한다면
인터페이스
인터페이스 관계 : 구현 클래스 is able to 인터페이스
해석 : 구현 클래스는 인터페이스 할 수 있다.
예제 : 고래는 헤엄칠 수 있다.
이를 이전에 본 상속도에 적용하면,
이러하다.
'스프링' 카테고리의 다른 글
SPRING(7) - 객체 지향의 4대특성 3 (0) | 2021.07.29 |
---|---|
SPRING(6) - 객체 지향의 4대특성 2 (0) | 2021.07.28 |
SPRING(5) - 객체지향의 4대특성 1 (0) | 2021.07.28 |
SPRING(4) - 멀티스레드, 멀티프로세스 (0) | 2021.07.28 |
SPRING(3) - 변수의 메모리상 위치 (0) | 2021.07.27 |