다음을 통해 공유


추상 형식 및 인터페이스

추상 형식 및 인터페이스는 모두 프로그래밍 방식의 추상화를 지정하는 메커니즘입니다. 추상화는 상속자나 구현자가 따라야 하는 계약을 지정합니다. 추상 형식에는 구현 정보를 제공하는 옵션이 있지만 인터페이스에는 구현 정보를 제공하는 옵션이 없습니다.

추상화를 사용하는 여러 구체적인 구현 및 API를 개발하여 추상화를 테스트하는 경우가 아니면 추상화를 제공하지 않습니다.

실제 시나리오에서 추상화를 테스트하지 않고 제공하는 경우, 이후 릴리스에서 호환성 문제를 알리지 않고서는 해결할 수 없거나 해결하기 어려운 디자인 문제점을 누락할 가능성이 많습니다.

추상화를 디자인할 때 추상 클래스와 인터페이스 사이에서 주의해서 선택합니다.

추상 형식 또는 인터페이스 선택에 대한 자세한 내용은 클래스와 인터페이스 간의 선택을 참조하십시오.

추상화의 구체적인 구현에 참조 테스트를 제공할 수 있습니다. 이러한 테스트를 통해 사용자는 해당 구현이 계약을 올바르게 구현하는지 여부를 테스트할 수 있습니다.

참조 테스트는 사용자가 인터페이스를 올바르게 구현했는지 확인할 수 있는 테스트입니다. 예를 들어, ICollection<T>에 대한 테스트를 사용하여 인터페이스를 구현하는 인스턴스에서 Add 메서드를 두 번 호출한 후에 Count 속성이 두 배 증가함을 확인할 수 있습니다.

Portions Copyright 2005 Microsoft Corporation. All rights reserved.

Portions Copyright Addison-Wesley Corporation. All rights reserved.

디자인 지침에 자세한 내용은 참조를 "Framework 디자인 지침: 규칙, 숙어, 및 재사용에 대 한 패턴입니다.NET 라이브러리"도 서 Krzysztof Cwalina와 Brad Abrams, 게시 Addison-wesley, 2005.

참고 항목

기타 리소스

클래스 라이브러리 개발을 위한 디자인 지침

확장성을 위한 디자인