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