1. static 멤버 변수
클래스의 static 멤버 변수는 모든 클래스의 인스턴스들이 공유하는 멤버다.
프로그램이 종료되기 전까지 한 번만 초기화되면서 계속해서 메모리에 올라가 있게 된다.
반드시 cpp 파일에서 초기화해야 하지만, static const 변수의 경우 클래스에서 초기화가 가능하다. 값 변경이 불가능하고, 컴파일 타임 초기화가 가능하기 때문이다.
접근 지정자가 private이라 하더라도 전역범위 초기화가 가능하다.
2. static 멤버 함수
클래스의 static 함수는 모든 클래스의 인스턴스들이 공유하는 함수다.
객체와는 관계없이 호출될 수 있고, 이 함수 내에서는 일반 멤버 변수(this가 붙은 멤버)에 대한 연산을 할 수 없다.
static 멤버 변수, 함수에 대한 연산을 수행할 수 있다.
참고자료
'CS 지식' 카테고리의 다른 글
[C++] template (0) | 2025.05.08 |
---|---|
[C++] struct vs class (0) | 2025.05.08 |
[C++] map vs unordered_map (0) | 2025.05.08 |
[C++] malloc(), free() vs new, delete (0) | 2025.04.20 |
[C++] const와 pointer (0) | 2025.04.20 |