Programming

인터페이스와 추상 클래스

procodes 2020. 7. 15. 22:34
반응형

인터페이스와 추상 클래스


C #에서는 언제 인터페이스를 사용해야하고 언제 추상 클래스를 사용해야합니까? 결정 요인은 무엇입니까?


추상 클래스의 장점은 다음과 같습니다.

  • 메소드의 기본 구현을 지정하는 기능
  • 불변 검사 기능에 추가
  • "인터페이스"메소드 호출 방식을 약간 더 잘 제어하십시오.
  • "무료"에 대한 인터페이스와 관련되거나 관련되지 않은 동작을 제공하는 기능

인터페이스는 데이터 전달 계약일 뿐이며 이러한 기능이 없습니다. 그러나 유형은 한 클래스에서만 파생 될 수 있지만 여러 인터페이스를 구현할 수 있으므로 일반적으로 더 유연합니다.


추상 클래스와 인터페이스는 의미가 다르지만 사용법이 겹칠 수 있습니다.추상 클래스는 일반적으로 유사한 클래스의 빌드 기반으로 사용됩니다. 클래스에 공통적 인 구현은 추상 클래스에있을 수 있습니다.인터페이스는 일반적으로 클래스가 매우 유사 할 필요가없는 클래스의 기능을 지정하는 데 사용됩니다.


고려해야 할 또 다른 사항은 다중 상속이 없기 때문에 클래스가 인터페이스 / 추상 클래스에서 구현 / 상속 할 수 있지만 다른 기본 클래스에서 상속하려면 인터페이스를 사용하려는 경우입니다.


실제 질문은 인터페이스를 사용할지 아니면 기본 클래스를 사용할지입니다. 이것은 이전에 다루어졌습니다.C #에서 추상 클래스 ( "abstract"라는 키워드로 표시된 클래스)는 단순히 개체를 인스턴스화 할 수없는 클래스입니다. 이것은 단순히 기본 클래스와 인터페이스를 구별하는 것과 다른 목적을 제공합니다.참고 URL :

https://stackoverflow.com/questions/747517/interfaces-vs-abstract-classes

반응형