45.4 인터페이스를 사용한 다중 상속 구현하기
다중 상속은 클래스 하나를 콤마로 구분해서 인터페이스 하나 이상을 상속하는 것을 의미합니다. C#에서 클래스는 클래스에 대한 단일 상속만 지원하는 대신, 인터페이스는 클래스에 인터페이스를 하나 이상 상속할 수 있습니다. 다음 내용을 입력한 후 실행해 보세요.
인터페이스를 사용한 다중 상속: InterfaceInheritance.cs
using System;
namespace InterfaceInheritance
{
interface IAnimal
{
void Eat();
}
interface IDog
{
void Yelp();
}
class Dog : IAnimal, IDog //인터페이스를 사용한 다중 상속
{
public void Eat() => Console.WriteLine("먹다.");
public void Yelp() => Console.WriteLine("짖다.");
}
class InterfaceInheritance
{
static void Main()
{
Dog dog = new Dog();
dog.Eat(); //ⓐ IAnimal 인터페이스 상속
dog.Yelp(); //ⓑ IDog 인터페이스 상속
}
}
}
실행 결과
먹다. 짖다.
Dog 클래스는 IAnimal 인터페이스와 IDog 인터페이스에서 다중 상속을 받습니다. IAnimal 인터페이스에서 Eat() 메서드를 상속받고 IDog 인터페이스에서 Yelp() 메서드를 상속받아 메서드 2개의 내용을 Dog 클래스에서 직접 구현하는 형태입니다.