한모로그 2023. 1. 21. 12:48

인터페이스 상속

  • 인터페이스도 다른 인터페이스를 상속할 수 있음. 다중 상속을 허용
  • extends 키워드 뒤에 상속할 인터페이스들을 나열


    출처, 이것이 자바다


  • 자식 인터페이스의 구현 클래스는 자식 인터페이스의 메소드뿐만 아니라 부모 인터페이스의 모든 추상 메소드를 재정의
  • 구현 객체는 다음과 같이 자식 및 부모 인터페이스 변수에 대입될 수 있음


    출처, 이것이 자바다


package ch08.sec09;

public interface InterfaceA {
    //추상 메소드
    void methodA();    
}

package ch08.sec09;

public interface InterfaceB {
    //추상 메소드
    void methodB();
}

package ch08.sec09;

public interface InterfaceC extends InterfaceA, InterfaceB {
    //추상 메소드
    void methodC();
}

package ch08.sec09;

public class InterfaceCImpl implements InterfaceC {

    @Override
    public void methodA() {
        System.out.println("InterfaceCImpl-methodA() 실행");

    }

    @Override
    public void methodB() {
        System.out.println("InterfaceCImpl-methodB() 실행");

    }

    @Override
    public void methodC() {
        System.out.println("InterfaceCImpl-methodC() 실행");

    }

}

package ch08.sec09;

public class ExtendsExample {

    public static void main(String[] args) {
        InterfaceCImpl impl = new InterfaceCImpl();

        InterfaceA ia = impl;
        ia.methodA();

        System.out.println();

        InterfaceB ib = impl;
        ib.methodB();

        System.out.println();

        InterfaceC ic = impl;
        ic.methodA();
        ic.methodB();
        ic.methodC();

    }

}