인터페이스는 클래스가 다중 상속을 할 수 없는 단점을 보와하기 위해 만들어진 개념이다.
인터페이스는 C#의 주요 기능이자 객체 지향 코드다.
기본적으로 함수 정의, 프로퍼티(get, set) 정의 같은걸 구현 없이 할 수 있도록 도와준다.※ 인터페이스는 구현 없이 명시만 하므로 인터페이스를 상속한 자식들은 반드시 명시한걸 재구현해야 한다.
- 인터페이스 선언은 interface라는 키워드를 사용한다.
- 인터페이스 이름은 클래스명과 구별할 수 있도록 이름 앞에 대문자 I를 붙여준다.
- 메서드, 프로터피, 인덱서 등을 멤버로 가질 수 있다.
- 멤버는 모두 추상화만 가능하다. 즉, 멤버 선언만 할 수 있다.
- 추상 클래스와 마찬가지로 인스턴스(객체)를 생성할 수 없다.
public interface I~~~ { ~~~(); }