인터페이스로 특정 멤버가 반드시 구현되어야 함을 보증하기
처음으로 인터페이스를 만들어 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.
인터페이스로 특정 멤버가 반드시 구현되어야 함을 보증: InterfaceNote.cs
using System; namespace InterfaceNote { //① ICar 인터페이스 선언 interface ICar { void Go(); //메서드 시그니처만 제공 } //② ICar 인터페이스를 상속하는 Car 클래스 선언 class Car : ICar { public void Go() => Console.WriteLine( "상속한 인터페이스에 정의된 모든 멤버를 반드시 구현해야 한다."); } class InterfaceNote { static void Main() { var car = new Car(); car.Go(); } } }
실행 결과
상속한 인터페이스에 정의된 모든 멤버를 반드시 구현해야 한다.
①에서 ICar 인터페이스에는 Go() 메서드에 대한 시그니처만 선언되어 있습니다. ICar 인터페이스를 상속받는 모든 클래스는 강제적으로 Go() 메서드를 구현해야 합니다. 그렇지 않으면 무조건 에러가 발생합니다. 인터페이스는 이처럼 특정 기능을 반드시 구현하도록 강요할 수 있는 힘이 있어 프로그램 코드에 대한 표준, 규약, 명세서 역할을 할 수 있습니다.