정적 클래스 디자인
참고 항목
이 콘텐츠는 Pearson Education, Inc.의 허가를 받아 프레임워크 디자인 지침: 재사용 가능한 .NET 라이브러리에 대한 규칙, 관용어 및 패턴, 2판에서 재인쇄되었습니다. 이 버전은 2008년에 출판되었으며 이후 3판에서 완전히 개정되었습니다. 이 페이지의 정보 중 일부는 최신 정보가 아닐 수 있습니다.
정적 클래스는 System.Object 및 가능한 프라이빗 생성자에서 상속되는 인스턴스 멤버 외에 정적 멤버만 포함하는 클래스로 정의됩니다. 일부 언어에서는 기본적으로 정적 클래스를 지원합니다. C# 2.0 이상에서는 정적으로 선언되는 클래스는 봉인된 추상 클래스이며, 인스턴스 멤버는 재정의하거나 선언할 수 없습니다.
정적 클래스는 순수 개체 지향 디자인과 단순함 간의 절충안입니다. 일반적으로 다른 작업(예: System.IO.File), 확장 메서드의 표시자, 전체 개체 지향 래퍼가 허가되지 않은 기능(예: System.Environment)에 대한 바로 가기를 제공하는 데 사용됩니다.
✔️ 정적 클래스 사용을 자제하세요.
정적 클래스는 프레임워크의 개체 지향 코어를 지원하는 클래스로만 사용해야 합니다.
❌ 정적 클래스를 기타 버킷으로 처리하지 마세요.
❌ 정적 클래스에서 인스턴스 멤버를 선언하거나 재정의하지 마세요.
✔️ 프로그래밍 언어에서 기본적으로 정적 클래스를 지원하지 않는 경우 정적 클래스를 봉인된 추상 클래스로 선언하고 프라이빗 인스턴스 생성자를 추가하세요.
Portions © 2005, 2009 Microsoft Corporation. All rights reserved.
Pearson Education, Inc의 동의로 재인쇄. 출처: Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition 작성자: Krzysztof Cwalina 및 Brad Abrams, 출판 정보: Oct 22, 2008 by Addison-Wesley Professional as part of the Microsoft Windows Development Series.