반응형
인터페이스는 퍼블릭(Public)이 기본 값이고
추상 클래스(Abstract class)는 프라이빗(Priviate)이 기본값이다.
인터페이스는 필드를 가질 수 없고 메소드를 정의할 수 없다.
인터페이스는 다른 인터페이스만 상속 받을 수 있고,
추상 클래스는 다른 추상 클래스나 다른 인터페이스 둘 다 상속 받을 수 있다.
다중 상속 문제(Problems of Multiple Class inheritance)
다이아몬드 문제라고도 한다. 모호함이 문제가 되는 것이다. 어떤 것이 선택되어질지 ,
한 개의 부모 클래스를 두개의 자식 클래스가 상속 받는다. 그리고 그 두개의 자식 클래스를 한 개의 자식 클래스가 상속 받을 때 생긴다.
이러한 문제를 해결하기 위해 나온 것이 인터페이스(Interface)이다. 굳이 메소드를 인터페이스에 구현할 필요 없고 상속받은 클래스에서 구현하고 인터페이스를 참조한 다음 그 클래스 메소드를 쓸 수 있다.
반응형
'Language > C#' 카테고리의 다른 글
C# - 타입 과 타입 멤버들 (0) | 2021.01.21 |
---|---|
C# - 메서드, 메소드 (Methods) (0) | 2021.01.15 |
C# - 데이터 변환(convert, parse,tryparse), 어레이(Array), 주석(Comments), 이프(If),논리 연산자(Logical Operator), Switch , While, Do while Loop statement (0) | 2021.01.05 |
C# - 내장 타입 Built-in types (0) | 2021.01.05 |
C# - 문자열 포맷팅 String format method (0) | 2020.12.29 |