클래스를 선언할 때 abstract를 명시하는 것 말고도 인터페이스가 있다. 뭐 자바에서와 같은 개념이다. 인터페이스는 그 자체가 완전히 추상화 된 클래스다.

An interface is a completely "abstract class", which can only contain abstract methods and properties (with empty bodies)

// interface
interface Animal {
  void animalSound(); // interface method (does not have a body)
  void run(); // interface method (does not have a body)
}

 

클래스 상속은 1개만 가능하고, 2개 이상을 상속하려면 인터페이스를 통한 추상화 상속으로만 가능하다. 개념은 자바와 동일하다. 단지 문법만 다르다.

 

1. Java

Java Class Inheritance (1개) -> extends를 사용

Java Inteface (2개 이상) -> implements를 사용

 

2. C#

C# Class Inheritance (1개) -> : 를 사용

C# Interface (2개 이상) -> : 를 사용

+ Recent posts