728x90
왜 extends 뒤에는 클래스가 단 하나만 존재할 수 있고, implements 뒤에는 인터페이스가 여러개 존재할 수 있을까?
클래스로부터는 구현을 물려받고, 인터페이스로부터는 구현을 물려받지 않기 때문이다.
구현을 물려받는다는 것은 곧 지시사항을 물려받는 것이다.
여러 명의 부모로부터 지시사항을 물려받는다면 자식의 입장으로서는 어떤 부모의 지시사항을 따라야 할지 알 수가 없다.
class A {
print() {
System.out.println("A");
}
}
class B {
print() {
System.out.println("B");
}
}
class C extends A, B { // <-------- 이런 식의 사용이 가능하다면
public static void main(String[] args) {
C c = new C();
c.print(); // <-------- A를 찍을 것인지, B를 찍을 것인지 판단하기 애매하다.
}
}
반응형
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java]try-catch 제대로 이해하기 (0) | 2025.05.28 |
---|---|
객체가 같다는 것은 정확히 어떤 의미인가? (0) | 2025.05.28 |
Garbage collection (0) | 2025.05.28 |