<aside> 💡 목차


</aside>

정적 데이터 멤버는 세가지 유형이 있다

스태틱 변수?

Untitled

일반적으로 클래스의 멤버변수같은 경우엔 전부 인스턴스 멤버라고 부른다

개별객체별로 다 멤버가 가지고있다는것임!
두개의 객체를 선언하면, 각 멤버 변수는 메모리에 따로 가진다고 헀잖아?

Untitled

근데 이거 static한 멤버로도 만들 수 있다

변수에 대해 배울떄, 전역변수 지역변수 배웠었지?

전역변수에서 선언하면, 모든 함수영역에서 전역변수에 접근할 수 있다

근데!

클래스에도 같은 클래스 타입들끼리 만들어진 객체끼리는

각 객체끼리 공유할 수 있는 변수를 둘 수 있음

그게 바로 static variable 이라는 친구! (스태틱 변수)

→ 스태틱 변수가 어디에 쓰임?

스태틱 변수가 사용되는 경우

스태틱 변수가 사용되는 경우

스태틱 변수는 객체가 몇개나 생성되었는지 수를 셀때 쓸 수 있곘지?
(count 사용)

→ 스태틱 변수는 메모리의 global 영역에 저장된다

Untitled

static도 private로 선언할수있는데

이러면 클래스로 만들어진 객체들만 접근가능한거고

static을 public으로 선언하면 어처피 저장되는 위치는 global 인데,

**전역변수랑 똑같은 위치로 저장되는거라 모든 함수에서 접근이 가능하다!**

Untitled

글로벌 영역에 counter라는 변수가 무조건 일단 생김!

생성자가 만들어질때마다 counter가 증가된다고 보자!

그러면 객체가 생성될때마다 global에 선언된 녀석이 증가하겄지?