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( )
}
또한 정적 함수는 객체 없이도 호출할 수 있으므로 정적 함수의 정의에서 호출 객체에 의해 좌우되는 것은 어떤 것도 사용할 수 없다.
즉 정적 함수를 정의할 때는 함수에서 생성된 객체 또는 지역변수가 아닌 한 어ㄸ너 비정적 변수나 비정적 멤버함수를 사용할 수 없다.