static 한정자
클래스 멤버가 클래스의 인스턴스가 아니라 클래스에 속함을 선언합니다.
static statement
인수
- statement
필수적 요소로서, 클래스 멤버 정의입니다.
설명
static 한정자는 멤버가 클래스의 인스턴스가 아니라 클래스 자체에 속한다는 것을 나타냅니다. 여러 개의 클래스 인스턴스가 생성되더라도 한 응용 프로그램에는 하나의 static 멤버만 존재합니다. static 멤버에는 인스턴스에 대한 참조가 아니라 클래스에 대한 참조로만 액세스할 수 있습니다. 하지만 클래스 멤버 선언 내에서는 this 개체로 static 멤버에 액세스할 수 있습니다.
클래스의 멤버는 static 한정자로 표시할 수 있습니다. 클래스, 인터페이스 및 인터페이스의 멤버에는 static 한정자를 사용할 수 있습니다.
static 한정자는 상속 한정자(abstract 및 final) 또는 버전 세이프 한정자(hide 및 override)와 조합하여 사용할 수 없습니다.
static 한정자를 static 문과 혼동하지 마십시오. static 한정자는 클래스의 인스턴스가 아니라 클래스 자체에 속하는 멤버를 나타냅니다.
예제
다음 예제에서는 static 개체의 사용 예를 보여 줍니다.
class CTest {
var nonstaticX : int; // A non-static field belonging to a class instance.
static var staticX : int; // A static field belonging to the class.
}
// Initialize staticX. An instance of test is not needed.
CTest.staticX = 42;
// Create an instance of test class.
var a : CTest = new CTest;
a.nonstaticX = 5;
// The static field is not directly accessible from the class instance.
print(a.nonstaticX);
print(CTest.staticX);
이 프로그램은 다음과 같이 출력됩니다.
5
42