Static는 정적 상태로 프로세스에서 동일한 메모리를 프로세스가 종료될때까지 하나의 이름으로 계속 사용되게 한다.

클래스에도 이는 마찬가지다.

 

클래스 내에서 멤버에서변수가

변수가 Static이면 클래스 변수,

함수가 Static이면 클래스 함수 라고 한다

 

변수가 static로 선언되면

그 클래스 변수는 그 클래스로 생성된 개체들은

같은 변수를 공유하게 된다.

 

클래스 변수는 클래스의 인스턴스(개체)가 생성될때

개체내의 멤버 변수로 따로 메모리를 할당 받지않는다.

왜냐면 main 함수 호출 이전에 먼저 메모리가 할당되기 때문이다.

 

이런 Static 멤버 변수의 초기화는

클래스 외부에서

자료형 클래스명::Static 멤버 변수=값 형태로 사용한다.

 

OOP에서는 전역변수라는 개념이 없다.

 

main 함수 호출 전에는 전역변수와 Static 변수들과 클래스 내의 Static 변수들이

메모리에 자리잡은 후에 main 함수가 호출된다.

'C,C++' 카테고리의 다른 글

mutable  (0) 2012.10.11
explicit  (0) 2012.10.11
생성자,소멸자,복사 생성자  (0) 2012.09.09
friend 한정자는  (0) 2012.09.08
this 포인터란  (0) 2012.09.07

+ Recent posts