인터페이스란 우리가 코드를 작성할때, "이러 이러한 것은 꼭 작성해!"라고 말해주는 청사진 같은 역할을 합니다.
1. 인터페이스 생김새
![[c#] 인터페이스란? - 1. 인터페이스 생김새 [c#] 인터페이스란? - 1. 인터페이스 생김새](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
1) 인터페이스는 제일 앞에 interface라는 것을 붙혀줍니다.
2) 인터페이스명은 관습적으로 대문자 I로 시작을 합니다.
3) 있어야할 메소드를 적어줍니다.( 여기선 void Drive(); )
이때 주의할점은 바디(body)를 적어주지 않습니다. 즉 {}가 없는 상태입니다.
앞서 제가 말했듯 인터페이스는 청사진 역할을합니다.
즉 내용물이 없어도 되는 것이죠.
참고로 interface는 디폴트로 public 한정자를 사용하고, 다른 한정자는 사용할 수 없습니다.
2. 인터페이스 사용법
![[c#] 인터페이스란? - 2. 인터페이스 사용법 [c#] 인터페이스란? - 2. 인터페이스 사용법](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
청사진 규칙을 사용해야하는 클래스에 해당 인터페이스를 상속합니다.
그 후 상속 받은 클래스에서는 명칭만 적어 놓았던 함수의 body를 구현해야하죠.
중요한건 인터페이스에서 적은 함수의 명칭과 시그니쳐를 정확하게 일치 시켜줘야 한다는 점입니다.
만약 불일치한 상태로 코드를 진행하면
![[c#] 인터페이스란? - 2. 인터페이스 사용법 [c#] 인터페이스란? - 2. 인터페이스 사용법](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
아래와 같은 오류가 발생하니 주의 하시길 바랍니다.
![[c#] 인터페이스란? - 2. 인터페이스 사용법 [c#] 인터페이스란? - 2. 인터페이스 사용법](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
3. 인터페이스의 주요 특징(다중 상속)
기본적으로 c#의 클래스는 하나의 클래스만 상속이 가능합니다.
그런데 인터페이스는 다중 상속이 가능합니다 .
![[c#] 인터페이스란? - 3. 인터페이스의 주요 특징(다중 상속) [c#] 인터페이스란? - 3. 인터페이스의 주요 특징(다중 상속)](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
여러가지 규칙을 동시에 적용가능하니 더욱 세밀한 컨트롤이 가능하겠죠?
'c#' 카테고리의 다른 글
[c#] var 키워드란? (0) | 2022.05.13 |
---|---|
[c#] 익명타입이란? (0) | 2022.05.13 |
[c#] 업 캐스팅이란? (0) | 2022.05.12 |
[c#] private set 사용 이유?(프러퍼티) (0) | 2022.05.11 |
[c#] 프로퍼티(property)란? - 사용 이유/ 사용법 (0) | 2022.05.11 |
댓글