공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
인터페이스
클래스와 같이 Method, Property, event, indexer 등을 갖습니다.
차이점으로는 위 언급한 것들을 클래스처럼 구현하지는 않고,
정의만 합니다.
=> 추상 멤버로만 구성되어있는 추상 클래스와 개념적으로 비슷합니다.
클래스가 인터페이스를 implements 할 경우
인터페이스에 정의한 멤버들을 모두 정의해야 합니다.
그리고 또 하나의 차이점은 부모 클래스는 하나만 가질 수 있지만,
부모 인터페이스는 여러 개를 가질 수 있습니다.
자바의 개념과 같죠?
=====================================================
인터페이스 정의
이렇게 클래스처럼 정의할 수 있고,
class 대신 interface 예약어를 사용합니다.
정수를 반환하는 메소드를 가지는 인터페이스를 정의해봤습니다.
=====================================================
=====================================================
인터페이스 구현
클래스를 상속받는 것과 마찬가지로
'클래스이름 : 인터페이스이름' 처럼
선언하면 인터페이스를 구현할 수 있습니다.
인터페이스에서는 추상메소드였지만,
실제 구현할 때는 {} 블록을 가지는 메소드로
구현되어야 합니다. 반환형도 당연히 일치해야 하구요.
=====================================================
=====================================================
인터페이스 사용
인터페이스는 실제로도 자주 사용되는 개념입니다.
일반적으로 event를 정의할 때 많이 사용된다고 생각합니다.
그리고 여러 클래스에서 공통적으로 사용되는 기능들이 있다면
인터페이스에 정의를 하고 정의한 내용들을 구현함으로
통일감을 줄 수도 있습니다.
=====================================================
이상입니다. 감사합니다.
저의 포스팅 내용 중 틀린 부분이 있거나 궁금하신 부분이 있다면
댓글부탁드립니다!
'C#' 카테고리의 다른 글
C#문법-20 : Delegate 2 - 메소드의 파라미터로 delegate 사용하기 (0) | 2019.06.12 |
---|---|
C#문법-19 : Delegate - 1, delegate란?, 기본 사용 법 (0) | 2019.06.12 |
C#문법-17 : 제네릭 (0) | 2019.05.24 |
C#문법-16 : 속성과 static 클래스, 메소드, 필드, 속성 (0) | 2019.04.25 |
C#문법-15 : 클래스 상속 (0) | 2019.04.25 |