클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러 이유로 다중 상속은 지원하지 않는다.
단, 다중 상속의 이점때문에 인터페이스라는 것을 통해 다중 상속을 지원한다
인터페이스란?
- 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 추상클래스!
*
접근 제어자 interface 인터페이스이름 {
public static final 타입 상수이름 = 값;
...
public abstract 메소드이름(매개변수);
...
}
단, 인터페이스 모든 필드는 public static final, 모든 메소드는 public abstract
interface Animal { public abstract void cry(); }
class Cat implements Animal {
public void cry() {
System.out.println("냐옹냐옹!");
}
}
class Dog implements Animal {
public void cry() {
System.out.println("멍멍!");
}
}
public class Polymorphism03 {
public static void main(String[] args) {
Cat c = new Cat();
Dog d = new Dog();
c.cry();
d.cry();
}
}
=======================================================
냐옹냐옹!
멍멍!
'Java' 카테고리의 다른 글
[Java] 계산기 (0) | 2022.05.02 |
---|---|
[Java] Override (0) | 2022.04.12 |
[Java] Inheritance(상속)2 (0) | 2022.04.11 |
[Java] Inheritance(상속) (0) | 2022.04.11 |
[Java] HashMap (0) | 2022.04.10 |
댓글