정적(Static)멤버변수는 '객체(Class Instance)가 소유하지않는(범주에 속하지 않는) 멤버이다.
class A
{
public:
int x;
}
일반적인 멤버변수는 객체(Class Instance)가 생성될 때마다 독립적으로 생성된다.
하지만
class A
{
public:
static int x;
}
위와 같이 멤버에 static을 붙여 정적변수로 생성하면 해당 클래스에 하나만 생성되고 모든 객체에서 공동으로 접근할 수 있다.
마찬가지로 정적 함수도 클래스에 하나만 생성되며 공동으로 접근 가능하다.
* 정적멤버들도 접근지정자(public, protected, private)를 붙일 수 있다.
* 정적 변수는 Class당 1개만 생성되므로 클래스 내부에서 초기화가 불가능하고, 클래스 외부에서 전역변수처럼 초기화해야한다.
int A::x = 0;
* 정적 함수는 정적 변수만 호출 가능하다.
>예제
'STUDY > C++' 카테고리의 다른 글
new 와 new []의 차이점 (0) | 2019.06.10 |
---|---|
[ STL ] 표준 시퀀스 컨테이너(vector, deque, list) (0) | 2018.03.12 |
상속과 동적,정적바인딩 (0) | 2018.02.28 |
[ Const 2편 ] Class에서의 Const초기화 (0) | 2018.02.27 |
[ Const 1편 ] 변수와 함수에서의 Const (0) | 2018.02.26 |