본문 바로가기

DEV_STUDY/C#

[C# 객체지향] 인터페이스 (Interface) 란?!


간단하게 말해서,

클래스내의 구성요소들의 구현부가 없고, 선언부의 집합으로만 이루어진 클래스이다.

일반적으로 추상 클래스는 일반클래스에 구현이 없는 추상함수로 이루어진 경우지만, 인터페이스는 내부의 멤버가 몽땅 구현이 없는

추상으로 이루어진 종합체라고 생각하면 된다.

<특징>
1. 인터페이스를 이용해서 객체 생성이 되지 않는다.
2. 인터페이스 내의 멤버는 모두 몸체가 없다.
3. 인터페이스 멤버는 default로 전부 public이다.
4. 내부에 필드를 가질 수 없다. { } 가 사용될 수 없다는 말이다.
5. 어떠한 접근자, 한정자를 붙일 수 없다.

- 다시말하면, 인터페이스는 구현을 목적으로 한다. 그리고 이러한 인터페이스는 C#에서는 힘든 다중상속이 가능하게 한다.

이 인터페이스와 다중상속이 어떤 연관이 있는지 알아보자.


- 출저 - JABOOK-

추상클래스를 구현하는 부분과 인터페이스의 구현이 다른점은 override를 사용하지 않는다는 점이다.

하나의 클래스가 클래스와 인터페이스를 동시에 상속받을 수 있는데,

여기서 지켜야 할점은  :  뒤에 반드시 클래스가 먼저 와야 한다는 점이다.

그리고 클래스는 하나만 상속 받을 수 있지만, 인터페이스는 몇개가 되던 상관없다.