클래스 변수

위키백과, 우리 모두의 백과사전.

클래스가 있는 객체 지향 프로그래밍에서 클래스 변수(class variable)는 클래스의 인스턴스가 얼마나 많이 존재하는지에 관계 없이, 하나의 사본이 존재하는 클래스에 정의된 변수이다.[1][2][3][4]

클래스 변수는 인스턴스 변수가 아니다. 이것은 특별한 종류의 클래스 속성(또는 클래스 프로퍼티, 필드, 데이터 멤버)이다. 인스턴스와 클래스 멤버 간에 동일한 이분법이 메소드(멤버 함수)에도 적용되며, 클래스는 인스턴스 메소드클래스 메소드를 둘 다 소유할 수 있다.

[편집]

struct Request {

    static int count;
    int number;

    Request() {
        number = count; // 인스턴스 변수"this->number"를 수정한다
        ++count; // 클래스 변수 "Request::count"를 수정한다
    }

};

int Request::count = 0;

각주[편집]

  1. “The Java Tutorial, Variables”. 2010년 10월 21일에 확인함. 
  2. “The Java Tutorial, Understanding Instance and Class Members”. 2010년 10월 21일에 확인함. 
  3. “The Python Language Reference, Compound Statements”. 2010년 10월 21일에 확인함. 
  4. “Objective-C Runtime Reference”. 2010년 10월 21일에 확인함.