* abstract class vs interface

 

  abstract class interface
다중 상속 불가능하다. 가능하다.
필드(field)
// 인스턴스와 관련있는 것들
포함할 수 있다. 일반적으로 포함할 수 없다.
// C# 8.0부터 인스턴스와 관련없는 정적 필드와 같은 것들은 포함할 수 있다.
기본 구현(default implementation) abstract가 붙은 멤버는 기본 구현을 지원하지 않는다. 일반적으로 불가능하다.
// C# 8.0 부터 가능하다.
멤버의 abstract 키워드 abstract, non-abstract 멤버를 가질 수 있다. 모두 public abstract이다.
선언 방식 abstract class Name { /* ... */ } interface Name { /* ... */ }
접근 제한 한정자 원하는대로 선언 가능하다. 모두 public으로 선언된다.
개념(concept) extend 로 표현된다. implement 로 표현된다.

 

 

 

 

'C#' 카테고리의 다른 글

[C#] 인터페이스(interface)  (0) 2022.06.28
[C#] abstract  (0) 2022.06.28
[C#] const, readonly  (0) 2022.06.28
[C#] ref, out  (0) 2022.06.28
[C#] 강력한 형식 언어(Strongly Typed Language)  (0) 2022.06.28

+ Recent posts