•
상속 관계가 아닌, 클래스 간 유사성을 인코딩하는 것
•
인터페이스는 다형성에 도움이 됨
•
단일 상속만 지원하는 자바에서 다중 상속의 효과를 낼 수 있는 방법
◦
서로 관계 없는 클래스들에게 관계를 맺어줄 수 있음. (컴퓨터 입/출력장치, 운영체제의 비유)
•
선언
interface Printable {
public abstract void print(String doc);
}
class SPrinterDriver implements Printable {
@Override
...;
}
Java
복사
•
인터페이스 vs 추상 클래스
•
cf. 추상 클래스, 메소드 (abstract) 정의 및 활용
public abstract class Animal {
public abstract void move();
}
// 추상 메소드를 하나라도 가지면 추상 클래스가 됨
// 추상 클래스도 보통의 메소드를 가질 수 있음
// 추상 메소드로 정의될 시 자식 클래스에서 반드시 오버라이드 해야 함
Java
복사
수업 예제