반응형
1. 인터페이스란?
2. 인터페이스의 특징
3. 인터페이스와 추상클래스의 차이점
1. 인터페이스란?
: 상속관계에 있어야 하는 클래스입니다. 모든 구현은 하위 클래스에서 이루어지며, 추상클래스와 유사하지만 다중상속이 가능하다는 점에서 차이점이 있습니다.
C# 클래스가 인터페이스를 갖는 경우, 인터페이스의 모든 멤버에 대한 구현을 제공해야 합니다.
2. 인터페이스의 특징
- 구현이 없고, 형식만 포함합니다. 모든 구현은 하위에서 이루어집니다.
- 다중 상속이 가능하다는 점에서 추상클래스와 차이가 있습니다.
- 상속만 가능하고 new 키워드를 써 인스턴스로 생성하는 것은 불가능합니다.
- 이벤트, 인덱서, 메서드, 속성을 포함합니다. 특히 메서드 부분을 많이 이용합니다.
- 접근한정자를 명시하지 않아도 기본 권한은 public 입니다.
3. 인터페이스와 추상클래스의 차이점
* 추상클래스란? (abstract class)
: 구현하려는 메서드의 형태만 존재하고, 실제 메서드의 구현은 하위에서 구현합니다. 상속으로만 사용 가능하고, new를 통해서 생성할 수는 없습니다. 단일상속의 형태만 가능합니다.
인터페이스 | 추상 클래스 | |
접근 지정자 | public | 함수에 대한 접근 지정자를 가질 수 있음 |
상속 | 다중 상속 가능 | 단일 상속 |
상대 속도 | 느림 | 빠름 |
인스턴스화 | x | x |
필드 | 필드를 가질 수 없음 | 필드, 상수를 정의할 수 있음 |
메서드 | 추상 메서드만 있음 | 비추상 메서드가 있을 수 있음 |
* 추상클래스의 구현 방법은 아래 링크 2번에 있습니다.
https://geukggom.tistory.com/75
반응형
'[Unity] > [C#]' 카테고리의 다른 글
[C#] delegate와 event의 차이 (0) | 2022.05.18 |
---|---|
[C#] 구조체(struct) (0) | 2022.05.16 |
[C#] 메모리(+ 가비지) (0) | 2022.05.13 |
[C#] Nullable (feat. int?) (0) | 2022.02.04 |
[C# 기초] #21. 힙(Heap) (0) | 2022.01.30 |