인터페이스는 기능 구현에 대한 약속입니다. 인터페이스의 멤버로는 메서드와 속성, 이벤트, 인덱서를 캡슐화할 수 있으며 인터페이스 내부에서는 구체적인 구현을 하지 않습니다. 대신 인터페이스를 구현 약속하는 클래스나 구조체에서는 해당 인터페이스에 약속된 모든 멤버를 구체적으로 구현을 제공해야 합니다.
이와 같은 인터페이스를 사용하면 비슷한 기능이 필요한 여러 형식의 개체를 같은 방법으로 사용할 수 있는 편의성을 제공할 수 있습니다. 또한, 특정 인터페이스를 기반의 개체를 인터페이스 형식 변수로 인자를 전달받아 처리함으로써 인터페이스에 약속된 기능만 접근할 수 있게 할 수 있어 신뢰성도 높아집니다.
이 외에도 C#에서는 여러 인터페이스를 구현 약속이 가능하여 효과적으로 프로그래밍할 수 있습니다.