[추가된 문법 정리] - 클래스 메소드(Class Method):델파이 2007 추가
2016.06.03 17:31
클래스 메소드(Class Method)
대부분의 메소드들이 개체 인스턴스를 통해 메소드를 호출한다.
클래스 메소드는 클래스로 직접 메소드를 호출할 수 있는 방법입니다.
클래스 메소드는 일반적인 클래스 메소드와 클래스의 정적 메소드 두 가지 유형이 있습니다.
- 일반 클래스 메소드
일반 클래스 메소드의 정의는 예약어 클래스로 시작해야합니다.
클래스 메소드는 클래스 참조 나 개체 인스턴스를 통해서도 호출 할 수 있습니다.
type TFigure = class public class function Supports(Operation: string): Boolean; virtual; class procedure GetInfo(var Info: TFigureInfo); virtual; ... end; class procedure TFigure.GetInfo(var Info: TFigureInfo); |
- 클래스 정적 메소드
클래스 메소드와 마찬가지로 클래스의 정적 메서드, 클래스 정적 메소드는 객체 참조없이 액세스 할 수 있습니다.
다음과 같이 선언 부분에 Static 지시어를 추가하여 정적 클래스 메소드를 선언합니다.
type TMyClass = class strict protected // Note: Accessors for class properties // must be declared class static. class function GetX: Integer; static; class procedure SetX(val: Integer); static; . end; |
일반적인 클래스 메소드와 달리 클래스 스태틱 메소드는 Self 매개 변수가 없습니다.
그들은 모든 인스턴스 멤버에 액세스 할 수 없습니다(클래스 필드, 클래스 속성, 클래스 메소드는 액세스가능).
또한 일반 클래스 메소드와 달리 클래스의 정적 메서드는 가상(Virtual) 선언 할 수 없습니다.