
추상화: 실제로 구현된 메서드는 없고 인터페이스를 상속받은 클래스 내에서 구현하면 된다.
메서드 시그니처: 상속받은 클래스가 반드시 구현해야 하는 메서드의 이름, 매개 변수, 반환 타입 들을 정의한다.
다중 상속 가능: 클래스와는 다르게 다중 상속이 가능하다.
강제적 구현: 상속받은 클래스는 인터페이스에서 정의한 모든 메서드를 반드시 구현해야 한다.
인터페이스 간 확장: 인터페이스는 다른 인터페이스를 확장할 수 있다.
public interface Payment
{
public void Pay();
}
public class Card : Payment
{
public void Pay(){}
}
public class Cash : Payment
{
public void Pay(){}
}
public class QR : Payment
{
public void Pay(){}
}
(x)
public class Store
{
Card card;
Cash cash;
QR qr;
}
(o)
public class Store
{
Payment payment;
payment.Pay();
}