이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

메서드 특성

메서드 특성의 용도

클래스 정의에 특성을 지정하면 특성 용도로 메서드의 동작을 사용자 지정할 수 있습니다. 메서드 특성을 설정하여 액세스, 가시성, 구현과 같은 특징을 제어할 수 있습니다. 서브클래스는 슈퍼클래스 멤버 특성을 상속하지 않습니다.

메서드 특성 지정하기

메서드 특성을 methods 키워드와 동일한 라인에 할당합니다.

methods (Attribute1 = value1, Attribute2 = value2,...)
   ...
end

특성 구문에 대한 자세한 내용은 특성 지정 항목을 참조하십시오.

메서드 특성 표

특성을 사용하면 메서드의 동작을 수정할 수 있습니다. 모든 메서드가 다음 표에 나와 있는 특성을 지원합니다.

특성 값은 디폴트가 아닌 값을 지정하는 methods...end 코드 블록 내에 정의된 모든 메서드에 적용됩니다.

메서드 특성

특성 이름

클래스

설명

Abstract

logical 디폴트 값 = false

true인 경우 메서드에 구현이 없습니다. 메서드에는 메서드 구현 시 서브클래스에서 사용되는 인수를 포함할 수 있는 구문 라인이 있습니다.

  • 서브클래스는 동일한 개수의 입력 인수와 출력 인수를 정의할 필요가 없습니다. 하지만 서브클래스가 자기 자신의 메서드를 구현할 때는 일반적으로 동일한 시그니처를 사용합니다.

  • 메서드의 function 라인 뒤에 주석이 있을 수 있습니다.

  • 메서드에는 function 키워드나 end 키워드가 들어 있지 않으며, 예를 들어 [a,b] = myMethod(x,y)와 같은 함수 구문만 있습니다.

Access

  • 열거형, 디폴트 값 = public

  • meta.class 객체

  • meta.class 객체로 구성된 셀형 배열

이 메서드를 호출할 수 있는 코드를 지정합니다.

  • public — 무제한 액세스

  • protected — 클래스나 서브클래스의 메서드에서 액세스

  • private — 클래스 메서드에서만(서브클래스에서가 아님) 액세스

  • 이 메서드에 액세스할 수 있는 클래스를 나열합니다. 클래스를 다음 형식의 meta.class 객체로 지정하십시오.

    • 단일 meta.class 객체

    • meta.class 객체로 구성된 셀형 배열. 빈 셀형 배열 {}private 액세스와 같습니다.

    클래스 멤버 액세스 항목을 참조하십시오.

Hidden

logical 디폴트 값 = false

false인 경우, methods 명령 또는 methodsview 명령을 사용하여 표시되는 메서드의 목록에 메서드 이름이 표시됩니다. true로 설정되면, 메서드 이름이 이 목록에 포함되지 않으며 ismethod가 이 메서드 이름에 대해 true를 반환하지 않습니다.

Sealed

logical 디폴트 값 = false

true인 경우, 메서드를 서브클래스에서 다시 정의할 수 없습니다. 서브클래스에서 같은 이름을 가진 메서드를 정의하려고 시도하면 오류가 발생합니다.

Static

logical 디폴트 값 = false

클래스의 객체에 종속되지 않고 객체 인수를 필요로 하지 않는 메서드를 정의하려면 true로 지정하십시오. 메서드(classname.methodname) 또는 클래스의 인스턴스(obj.methodname)를 호출하려면 클래스 이름을 사용하십시오.

정적 메서드에 자세한 내용이 나와 있습니다.

프레임워크 특성

특정 프레임워크 기본 클래스를 사용하는 클래스는 프레임워크별 특성을 가집니다. 이러한 특성에 대한 자세한 내용은 사용하는 특정 기본 클래스에 대한 문서를 참조하십시오.