본문 바로가기
전공공부/C, C++

[C++] 7. C++ Class Static Member(static 멤버변수, 멤버함수)

by 아임그류튜 2024. 4. 4.
반응형

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] 7. C언어 사용자 정의 함수, 변수의 특성(지역, 전역, static)

오늘은 C언어 사용자 정의 함수와 변수에 대하여 알아보겠습니다. 1. 함수의 구조 - C언어는 mian 함수, 라이브러리 함수, 사용자 정의 함수가 있습니다. - main 함수로 보면 함수는 반환형, 이름, 매

gruttuisfree.tistory.com

 

반응형