인터페이스(Interface)와 추상 클래스(Abstract class)는 객체 지향 프로그래밍에서 다형성을 구현하는 방법 중 두 가지입니다. 인터페이스 ( Interface ) 인터페이스는 클래스가 구현해야 하는 동작(메서드)의 목록을 정의합니다. 인터페이스를 사용하여 다른 클래스와의 상호 작용을 정의할 수 있습니다. 인터페이스는 다중 상속을 지원하므로 클래스가 여러 개의 인터페이스를 구현할 수 있습니다. 인터페이스는 클래스의 기본 동작을 제공하지 않으므로 인터페이스를 구현하는 클래스는 모든 메서드를 정의해야 합니다. // IAnimal 인터페이스 정의 public interface IAnimal { void MakeSound(); } // Dog 클래스, IAnimal 인터페이스 구현 public c..