더북(TheBook)

인터페이스로 특정 멤버가 반드시 구현되어야 함을 보증하기

처음으로 인터페이스를 만들어 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

인터페이스로 특정 멤버가 반드시 구현되어야 함을 보증: 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() 메서드를 구현해야 합니다. 그렇지 않으면 무조건 에러가 발생합니다. 인터페이스는 이처럼 특정 기능을 반드시 구현하도록 강요할 수 있는 힘이 있어 프로그램 코드에 대한 표준, 규약, 명세서 역할을 할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.