반응형
C언어 때도 이미 알아봤던 statci(정적) 변수입니다.
지역변수는 해당 지역에서만 접근 및 변경 가능하며
전역변수는 모든 곳에서(프로그램 시작부터 끝까지) 접근 및 변경가능합니다.
이 두 가지 성질을 합친 static 변수의 경우 해당 지역에서만 변경 가능하지만
모든 지역에서 접근 가능한 성질을 가집니다.
단, 결국 Class의 멤버변수이기 때문에 private, public 성격을 그대로 가져오게 됩니다.
하나의 Class를 정의하면 해당 Class의 성질을 토대로 여러 개의 객체를 생성하게 되는데
멤버변수를 static으로 선언하게 되면 모든 객체가 동일한 값을 가지게 됩니다.
따라서, 객체와 무관하게 Class 생성 횟수, 특정함수 호출빈도 등을 Tracking할 때 주로 사용됩니다 ㅎㅎ
static 멤버변수나 함수의 경우는 선언부에만 static을 붙여줍니다.
호출 시에는 객체를 통해서 호출해도 되고 특정 객체를 통하지 않아도 호출 가능합니다.
C언어의 static과 결국 같은 성질을 가지고 Class로만 들어왔다고 생각해주세요!
2024.01.10 - [전공공부/C언어] - [C] 7. C언어 사용자 정의 함수, 변수의 특성(지역, 전역, static)
반응형
'전공공부 > C, C++' 카테고리의 다른 글
[C++] 9. C++ operator(=) overloading를 통한 Deep Copy, this pointer (31) | 2024.06.03 |
---|---|
[C++] 8. C++ friend keyword, operator overloading (42) | 2024.05.23 |
[C++] 6. C++의 핵심 Class(캡슐화, 생성자 오버로딩, 멤버변수, 멤버함수) (25) | 2024.03.19 |
[C++] 5. 함수의 매개변수 전달(Call by Value, Pointer, Reference) (30) | 2024.03.13 |
[C++] 4. 동적할당(동적 메모리 사용) (28) | 2024.03.11 |