인터페이스 상속은 특정 함수가 클래스에 의해 상속되는 특정 컴퓨터 언어의 메커니즘이며, 해당 특정 클래스는 해당 함수에 대한 구현을 제공하여 완료되어야합니다. 인터페이스는 특정 객체 지향 프로그래밍 언어에서만 존재합니다. 일반적으로 클래스가 상속 할 수있는 인터페이스 수에는 제한이 없기 때문에 클래스가 실제로 상속 할 수는 없지만 다중 상속을 에뮬레이트하는 데 사용할 수 있습니다. 구현되지 않은 메소드 외에도 인터페이스에는 공용 상수가 포함될 수 있습니다.
인터페이스 상속에서 메소드 스텁과 상수를 상속받는 객체는 일종의 인터페이스 객체로 간주됩니다. 따라서 클래스 X가 인터페이스 Y에서 상속 된 경우 클래스 X의 모든 인스턴스도 클래스 Y의 인스턴스가됩니다. 클래스의 인터페이스 상속에 둘 이상의 개별 인터페이스가 포함되어 있으면 더 복잡해집니다. 상속되는 모든 추가 인터페이스에 대해 결과 클래스를 각각의 인스턴스로 합법적으로 사용할 수 있습니다. 클래스가 10 개의 서로 다른 인터페이스에서 상속 된 경우 해당 클래스의 객체는 자체를 포함하여 11 개의 서로 다른 객체의 인스턴스로 사용될 수 있습니다.
이러한 복잡한 상속은 종종 필요하지 않습니다. 인터페이스 상속은 클래스에 특정 필수 동작 집합이 있는지 확인하는 데 사용되며 이러한 동작을 통해 다른 방법으로는 수행 할 수없는 다양한 기능을 수행 할 수 있습니다. 이에 대한 일반적인 예는 Java의 ActionListener 인터페이스이며, 하나의 특정 메소드 만 구현하기 위해 클래스가 필요합니다. 이 방법을 성공적으로 구현하면 사용자가 원하는 경우 버튼, 메뉴 항목 또는 클래스의 다른 창 개체를 제어 할 수 있습니다. 인터페이스 상속은 가장 복잡한 상속 문제에 대해 걱정하지 않고 클래스에 복잡한 기능을 추가하는 비교적 간단한 방법입니다.
인터페이스 상속 사용의 가장 큰 장점 중 하나는 특정 객체를 일반적인 의미로 사용할 수 있다는 것입니다. 인터페이스를 구현하는 클래스는 해당 인터페이스의 인스턴스이므로 해당 인터페이스의 인스턴스가 필요한 어느 곳에서나 사용할 수 있습니다. 예를 들어, 클래스 A가 클래스 C를 구현하고 클래스 B가 클래스 C를 구현하는 경우, 메소드가 클래스 C의 인스턴스를 매개 변수로 취하면 클래스 A의 인스턴스 또는 클래스 B의 인스턴스가 사용 가능한 매개 변수가됩니다. . 인터페이스는 완전하지 않기 때문에 자체적으로 인스턴스화 할 수 없으므로 순전히 C 클래스의 인스턴스 인 오브젝트는 매개 변수로 존재하지 않습니다.


