더북(TheBook)

45.1 인터페이스

인터페이스는 클래스 또는 구조체에 포함될 수 있는 관련 있는 메서드들을 묶어 관리합니다. 인터페이스는 명세서(specification)(규약, 표준) 역할을 합니다. 인터페이스를 상속받아 그 내용을 구현하는 클래스는 인터페이스에 선언된 멤버(속성, 메서드 등)가 반드시 구현되어 있다는 보증을 합니다.

다음 내용은 인터페이스 내용을 추가로 정리한 것입니다. 간단히 읽고 넘어가세요.

인터페이스는 interface 키워드를 사용하여 만듭니다. 인터페이스는 실행 가능한 코드와 데이터를 포함하고 있지 않습니다.

추상 클래스처럼 다른 클래스에 멤버 이름을 미리 정의할 때 사용합니다. 추상 클래스와 다른 점은 멤버 내용을 구현하지 않고 멤버 이름만 정의합니다.

인터페이스에는 메서드, 속성, 인덱서 및 이벤트를 정의할 수 있습니다.

현실 세계에서 전 세계 표준과 같은 기능입니다.

단일 상속만 지원하는 클래스와 달리 인터페이스를 사용한 다중 상속이 가능합니다.

인터페이스 멤버는 액세스 한정자를 붙이지 않으며 항상 public이고, virtualstatic을 붙일 수 없습니다.

인터페이스 내의 모든 멤버는 기본적으로 public입니다.

C#에서 인터페이스 이름은 ICar, IFood, IComputer 형태로 대문자 I로 시작합니다.

인터페이스는 인스턴스화되지 않습니다. 클래스를 사용해서 인스턴스화됩니다.

I인터페이스 i = new 클래스();

인터페이스는 계약(contract) 의미가 강하며 속성, 메서드, 이벤트, 인덱서 등 구조를 미리 정의합니다.

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