날마다 새롭게 또 날마다 새롭게

static 멤버변수 본문

프로그래밍/C / C++

static 멤버변수

아무유 2012. 9. 21. 19:22

static 멤버변수는 클래수 변수라고도 한다. 그 이유는 클래스당 하나씩만 생성되기 때문이다. 클래스를 생성하건 생성하지 않건, 메모리 공간에 딱 하나만 할당 되어 공유되는 변수이다.

주의할 사항

static 멤버변수는 클래스가 생성될 때, 동시에 생성되지 않으므로 static 멤버변수의 초기화는 생성자에서 초기화하면 안 된다. static 멤버변수 초기화는 다음과 같이 한다.

int SoSimple::simObjCnt=0;

static 멤버함수 역시 static 멤버변수와 동일한 특성을 갖는다.

단, static 멤버함수 내에서는 static 멤버함수와 static 멤버변수만 호출 가능하다. 그 이유는 초기화를 따로 해줘야하는 이유와 같다. 클래스의 생성과 상관없이 생성되기 때문이다.

Comments