Abstract class & Interfaces

  • Post author:
  • Post category:
  • Post comments:0 Comments
  • Post last modified:March 26, 2005

From MSDN Library

추상 클래스도 이러한 종류의 다형성을 허용하지만 몇 가지 제한이 있습니다.

  • 하나의 기본 클래스로부터만 클래스를 상속할 수 있으므로 추상 클래스를 사용하여 클래스 그룹에 다형성을 제공하려면 모든 클래스가 해당 클래스를 상속해야 합니다.
  • 추상 클래스에서는 이미 구현된 멤버를 제공할 수도 있습니다. 따라서 추상 클래스를 사용하면 어느 정도 동일한 기능을 보장할 수 있지만 인터페이스로는 이러한 기능을 보장할 수 없습니다.

다음은 구성 요소에 다형성을 제공하기 위해 인터페이스를 사용할지 추상 클래스를 사용할지 여부를 결정하는 데 도움을 줄 수 있는 일부 권장 사항입니다.

  • 여러 버전의 구성 요소를 만들 것으로 예상되는 경우 추상 클래스를 만듭니다. 추상 클래스는 간단하고 쉽게 구성 요소의 버전을 작성할 수 있는 방법을 제공합니다. 기본 클래스를 업데이트하면 모든 상속 클래스의 변경 내용이 자동으로 업데이트됩니다. 반대로 인터페이스는 한 번 만들면 변경할 수 없습니다. 새 버전의 인터페이스가 필요하면 완전히 새로운 인터페이스를 만들어야 합니다.
  • 만들고 있는 기능이 광범위한 분산 개체에서 유용하게 사용될 것으로 예상되는 경우 인터페이스를 사용합니다. 추상 클래스는 주로 밀접하게 관련된 개체에 사용되는 반면 인터페이스는 관련되지 않은 클래스에 일반적인 기능을 제공하는 데 적합합니다.
  • 작고 간결한 기능을 디자인하는 경우 인터페이스를 사용합니다. 그러나 큰 기능 단위들을 디자인하는 경우에는 추상 클래스를 사용합니다.
  • 모든 구성 요소의 구현 사이에 일반적인 구현된 기능을 제공하려면 추상 클래스를 사용합니다. 추상 클래스를 사용하면 부분적으로 자신의 클래스를 구현할 수 있지만 인터페이스에서는 멤버를 구현하지 않습니다.
Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments