공용 형식 시스템의 클래스

업데이트: 2007년 11월

개체 지향 프로그래밍에 익숙하다면 개체로 수행할 수 있는 작업(메서드, 이벤트 및 속성)과 개체의 상태를 유지하는 값(필드)을 클래스에서 정의한다는 것을 알 것입니다. 대개 클래스에는 정의와 구현이 모두 포함되어 있지만 구현이 없는 멤버가 하나 이상 있을 수도 있습니다.

클래스의 인스턴스는 개체입니다. 개체의 메서드를 호출하고, 개체의 속성, 이벤트 및 필드에 액세스하여 개체의 기능을 사용할 수 있습니다.

다음 표에는 런타임에서 클래스가 가질 수 있는 일부 특성에 대한 설명이 나와 있습니다. 특성 클래스를 통해 사용할 수 있는 추가 특성은 이 목록에 나와 있지 않습니다. 언어에 따라서는 이 특성을 모두 사용하지 못할 경우도 있습니다.

특징

설명

sealed

이 형식에서 다른 형식을 파생할 수 없도록 지정합니다.

implements

인터페이스 멤버의 구현을 제공하여 클래스에서 하나 이상의 인터페이스를 사용할 수 있음을 나타냅니다.

abstract

클래스의 인스턴스를 만들 수 없도록 지정합니다. 이러한 클래스를 사용하려면 다른 클래스를 파생해야 합니다.

inherits

기본 클래스를 지정한 곳에서 클래스의 인스턴스를 사용할 수 있음을 나타냅니다. 기본 클래스에서 상속된 파생 클래스에서는 기본 클래스에서 제공하는 가상 메서드의 구현을 사용할 수도 있고, 파생 클래스의 고유한 구현을 사용하여 가상 메서드의 구현을 재정의할 수도 있습니다.

exported 또는 not exported

클래스를 정의한 어셈블리 밖에서 클래스를 볼 수 있는지의 여부를 지정하며 최상위 클래스에만 적용됩니다.

중첩된 클래스에도 멤버 특성이 있습니다. 자세한 내용은 형식 멤버를 참조하십시오.

구현이 없는 클래스 멤버는 추상 멤버입니다. 하나 이상의 멤버가 있는 클래스는 그 자체가 추상적이기 때문에 이 클래스의 새 인스턴스를 만들 수 없습니다. 런타임을 대상으로 하는 일부 언어에서는 추상 멤버가 없는 클래스를 추상으로 표시할 수 있습니다. 파생된 클래스에서 상속하거나 재정의할 수 있는 기본 기능의 집합을 캡슐화해야 하는 경우 상황에 따라 추상 클래스를 사용할 수 있습니다. 추상이 아닌 클래스를 구체적인 클래스라고 합니다.

클래스에서는 인터페이스를 여러 개 구현할 수 있지만 단일 기본 클래스에서만 상속할 수 있습니다. 모든 클래스에는 클래스의 새 인스턴스를 초기화하는 생성자가 최소한 하나는 있어야 합니다.

런타임을 지원하는 각 언어에는 클래스나 클래스 멤버가 특정한 특성을 갖고 있음을 표시하는 방식이 있습니다. 해당 언어에 맞는 구문을 사용하여 특성을 표시하면 클래스 구현과 함께 클래스 및 클래스 멤버의 특성이 메타데이터로 저장됩니다.

참고 항목

개념

공용 형식 시스템의 인터페이스

참조

System.Object

기타 리소스

공용 형식 시스템

메타데이터 및 자동 기술 구성 요소