간단하게 말해서,
클래스내의 구성요소들의 구현부가 없고, 선언부의 집합으로만 이루어진 클래스이다.
일반적으로 추상 클래스는 일반클래스에 구현이 없는 추상함수로 이루어진 경우지만, 인터페이스는 내부의 멤버가 몽땅 구현이 없는
추상으로 이루어진 종합체라고 생각하면 된다.
<특징>
1. 인터페이스를 이용해서 객체 생성이 되지 않는다.
2. 인터페이스 내의 멤버는 모두 몸체가 없다.
3. 인터페이스 멤버는 default로 전부 public이다.
4. 내부에 필드를 가질 수 없다. { } 가 사용될 수 없다는 말이다.
5. 어떠한 접근자, 한정자를 붙일 수 없다.
- 다시말하면, 인터페이스는 구현을 목적으로 한다. 그리고 이러한 인터페이스는 C#에서는 힘든 다중상속이 가능하게 한다.
이 인터페이스와 다중상속이 어떤 연관이 있는지 알아보자.
- 출저 - JABOOK-
추상클래스를 구현하는 부분과 인터페이스의 구현이 다른점은 override를 사용하지 않는다는 점이다.
하나의 클래스가 클래스와 인터페이스를 동시에 상속받을 수 있는데,
여기서 지켜야 할점은 : 뒤에 반드시 클래스가 먼저 와야 한다는 점이다.
그리고 클래스는 하나만 상속 받을 수 있지만, 인터페이스는 몇개가 되던 상관없다.
'DEV_STUDY > C#' 카테고리의 다른 글
[C# 객체지향] Boxing & Unboxing 박싱/언박싱 (0) | 2012.01.10 |
---|---|
[C# 객체지향] 업캐스팅( 제 1 다형성 ) 가상함수 ( 제 2 다형성 ) (0) | 2012.01.05 |
[C# 객체지향] 추상 함수, 추상 클래스 - Abstract Mehtod, Abstract Class (0) | 2012.01.04 |
[C# 객체지향] 다형성을 위하여.. (0) | 2012.01.04 |
[C#의 객체지향] 1 -7 오버라이딩, this, base (1) | 2012.01.03 |