본문 바로가기

C#

C# 인터페이스


1. 인터페이스

인터페이스는 클래스와 비슷하게 메서드, 속성, 이벤트, 인덱서 등을 가지고 있지만 이것을 구현하지 않고 정의만 한다. 클래스에 인터페이스를 적용하여 클래스는 인터페이스에 정의된 모든것의 구현을 강제한다. 추상 클래스와 개념적인 부분은 비슷하지만 다른점은 다중 상속의 유무이다. 하나의 클래스는 여러개의 인터페이스를 구현할 수 있다.

2. 정의법

인터페이스의 경우 class 처럼 namespace 내부에 선언되며 interface 키워드를 사용하여 작성한다.

위 예제 처럼 두개의 인터페이스를 하나의 클래스인 Program 에게 구현 할 수 있다.

또한 구현을 강제하기 때문에 적용된 인터페이스의 구성요소가 구현되어 있지 않은 경우 에러를 발생 시킨다.

추가. 인터페이스의 사용

인터페이스는 공통으로 기능하는 동작을 구현하는데 사용한다. 구현을 강제하고, 다중상속을 지원하기 때문에 하나의 클래스의 여러개의 공통된 동작이 필요한 경우 인터페이스를 작성하여 구현할 수 있다.

하나의 인터페이스를 두개의 클래스에 구현하여 동일한 작동을 하는 메서드를 구현하는 예제이다.

'C#' 카테고리의 다른 글

C# 확장 메서드  (0) 2023.07.11
C# 무명 메서드 / 람다식 / 익명타입  (0) 2023.07.11
C# 제네릭  (0) 2023.07.10
C# static / 정적 메소드  (0) 2023.07.10
C# 파생 클래스, 추상 클래스  (0) 2023.07.10