override 한정자

메서드나 속성이 기본 클래스의 메서드나 속성을 재정의한다는 것을 선언합니다.

override statement

인수

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

설명

override 한정자는 기본 클래스의 메서드를 재정의하는 메서드에 사용됩니다. 기본 클래스에 시그니처가 같은 멤버가 있어야 override 한정자를 메서드에 사용할 수 있습니다.

클래스의 메서드와 속성에는 override 한정자로 표시할 수 있습니다. 클래스, 필드, 인터페이스 및 인터페이스의 멤버는 override 한정자를 사용할 수 없습니다.

override 한정자는 다른 버전 세이프 한정자(hide)와 조합하여 사용할 수 없습니다. 버전 세이프 한정자는 static 한정자와 조합하여 사용할 수 없습니다. 기본적으로 메서드는 기본 클래스 메서드에 final 한정자가 없는 경우 기본 클래스 메서드를 재정의합니다. final 메서드는 재정의할 수 없습니다. 버전 세이프 모드로 실행할 경우 기본 클래스 메서드를 재정의할 때마다 버전 세이프 한정자 중 하나를 사용해야 합니다.

예제

다음 예제에서는 override 한정자를 사용하는 방법을 보여 줍니다. override 한정자로 표시된 파생 클래스의 메서드는 기본 클래스 메서드를 재정의합니다. hide 한정자로 표시된 메서드는 기본 클래스 메서드를 재정의하지 않습니다.

class CBase {
   function methodA() { print("methodA of CBase.") };
   function methodB() { print("methodB of CBase.") };
}

class CDerived extends CBase {
   hide function methodA() { print("Hiding methodA.") };
   override function methodB() { print("Overriding methodB.") };
}


var derivedInstance : CDerived = new CDerived;
derivedInstance.methodA();
derivedInstance.methodB();

var baseInstance : CBase = derivedInstance;
baseInstance.methodA();
baseInstance.methodB();

이 프로그램의 출력을 통해 override 메서드가 기본 클래스 메서드를 재정의하는 것을 볼 수 있습니다.

Hiding methodA.
Overriding methodB.
methodA of CBase.
Overriding methodB.

요구 사항

.NET 버전

참고 항목

참조

hide 한정자

var 문

function 문

class 문

개념

변수 및 상수의 범위

형식 주석

기타 리소스

한정자