다음을 통해 공유


hide 한정자

메서드나 속성이 기본 클래스에서 메서드나 속성을 숨긴다는 것을 선언합니다.

hide statement

인수

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

설명

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

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

hide 한정자는 다른 버전 세이프 한정자(override)와 조합하여 사용할 수 없습니다. 버전 세이프 한정자는 static 한정자와 조합하여 사용할 수 없습니다. 기본적으로 기본 클래스 메서드에 final 한정자가 없으면 메서드가 기본 클래스 메서드를 재정의합니다. 추상, 기본 메서드에 명시적 구현을 제공해야 abstract 메서드를 숨길 수 있습니다. 버전 세이프 모드로 실행할 경우 기본 클래스 메서드를 재정의할 때마다 버전 세이프 한정자 중 하나를 사용해야 합니다.

예제

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

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();

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

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

요구 사항

.NET 버전

참고 항목

참조

override 한정자

static 한정자

var 문

function 문

class 문

/versionsafe

개념

변수 및 상수의 범위

형식 주석

기타 리소스

한정자