실행 결과
Dog Eat Cat Eat Dog Eat Cat Eat
①처럼 IDog.Eat() 메서드를 구현하면, IDog 인터페이스 형식의 개체에서 Eat() 메서드를 호출할 때 이 메서드가 실행됩니다.
마찬가지로 ②처럼 ICat.Eat() 메서드를 구현하면, ICat 개체에서 Eat() 메서드를 호출할 때 실행됩니다. IDog와 ICat을 모두 상속하는 Pet 클래스의 인스턴스에서는 기본적으로 Eat() 메서드가 노출되지 않고, IDog 또는 ICat으로 형식을 변환하면 해당 Eat() 메서드가 노출되어 실행 가능합니다.