다음을 통해 공유


abstract 한정자

업데이트: 2007년 11월

클래스를 확장하거나 메서드 또는 속성의 구현이 파생 클래스에 의해 제공되어야 한다고 선언합니다.

abstract statement

인수

  • statement
    필수적 요소. 클래스, 메서드 또는 속성 정의입니다.

설명

abstract 한정자는 구현이 없는 클래스 또는 해당 메서드가 포함된 클래스에서 메서드나 속성에 대해 사용됩니다. 추상 멤버가 있는 클래스는 new 연산자로 인스턴스화할 수 없습니다. 추상 기본 클래스에서 추상 및 비추상 클래스를 모두 파생할 수 있습니다.

클래스와 클래스의 메서드와 속성을 abstract 한정자로 표시할 수 있습니다. 클래스에 abstract 멤버가 있으면 abstract로 표시되어야 합니다. 암시적으로 추상인 인터페이스 및 인터페이스의 멤버에는 abstract 한정자를 사용할 수 없습니다. 형식은 추상이어서는 안 됩니다.

abstract 한정자를 다른 상속 한정자(final)와 조합하여 사용할 수 없습니다. 기본적으로 클래스 멤버는 abstractfinal이 아닙니다. 상속 한정자는 static 한정자와 조합하여 사용할 수 없습니다.

예제

다음 예제에서는 abstract 한정자를 사용하는 방법을 보여 줍니다.

// CAnimal is an abstract base class.
abstract class CAnimal {
   abstract function printQualities();
}
// CDog and CKangaroo are derived classes of CAnimal.
class CDog extends CAnimal {
   function printQualities() {
      print("A dog has four legs.");
   }
}
class CKangaroo extends CAnimal {
   function printQualities() {
      print("A kangaroo has a pouch.");
   }
}

// Define animal of type CAnimal.
var animal : CAnimal;

animal = new CDog;
// animal uses printQualities from CDog.
animal.printQualities();

animal = new CKangaroo;
// animal uses printQualities from CKangaroo.
animal.printQualities();

이 프로그램은 다음과 같이 출력됩니다.

A dog has four legs.
A kangaroo has a pouch.

요구 사항

.NET 버전

참고 항목

개념

변수 및 상수의 범위

참조

final 한정자

static 한정자

var 문

function 문

class 문

new 연산자

기타 리소스

한정자