Programming/C++, C#

클래스(정적멤버)

GameCook 2018. 6. 5. 00:38

동일한 클래스의 모든 객체가 공유하는 변수

ex) 동일 클래스의 모든 객체가 특정 멤버 함수를 호출한 횟수를 저장할 변수

정적 변수는 해당 클래스의 객체만이 직접 접근할 수 있도록 private가 될 수 있다.

정적 함수는 클래스의 객체를 이용한 일반적인 방법으로 호출할 수 있다


class Server;

{

public:


static int getTurn( );


}


int main()

{

Server S1, S2;

cout<<S1.getTurn( )


그러나 다음 예와 같이 클래스 이름과 영역지정 연산자를 사용하여 정적함수를 호출하는 것이 더 일반적이고 명확하다.

cout<<Server::getTurn( )


}

또한 정적 함수는 객체 없이도 호출할 수 있으므로 정적 함수의 정의에서 호출 객체에 의해 좌우되는 것은 어떤 것도 사용할 수 없다.

즉 정적 함수를 정의할 때는 함수에서 생성된 객체 또는 지역변수가 아닌 한 어ㄸ너 비정적 변수나 비정적 멤버함수를 사용할 수 없다.