인터페이스 간 상속은 extends로 이루어집니다.
인터페이스는 다중 상속이 가능하고 클래스처럼 extends로 이루어집니다.
다음은 인터페이스 다중 상속의 예식 코드입니다.
InterfaceA, B를 생성하고 InterfaceC를 생성해서 A와 B를 상속하였습니다.
// ========================= Interface A ============================
public interface InterfaceA {
public abstract void methodA();
} // end interface
// ========================= Interface B ============================
public interface InterfaceB {
public abstract void methodB();
} // end interface
// ================ A와 B를 상속받는 Interface C ====================
public interface InterfaceC
extends InterfaceA, InterfaceB {
public abstract void methodC(); // 규격
} // end interface
위 코드처럼 extends 를 이용해 인터페이스를 상속할 수 있습니다.
다음은 InterfaceC를 implements 하는 클래스를 구현하였습니다.
@Log4j2
public class ImplementationC implements InterfaceC {
@Override
public void methodA() {
log.trace("methodA() invoked");
} // methodC
@Override
public void methodB() {
log.trace("methodB() invoked");
} // methodC
@Override
public void methodC() {
log.trace("methodC() invoked");
} // methodC
} // end class
InterfaceC를 implements 하면 A와 C의 인터페이스의 추상 메서드까지 구현할 수 있습니다.