///////
Search
☘️

클래스 변수

목차

클래스 변수/call

객체를 생성하지 않고도 static 자원에 접근 가능
사용될 수 있는 곳
1.
멤버변수클래스영역에 선언된 변수(클래스변수,인스턴스변수)
2.
메서드
3.
초기화블럭
인스턴스 변수 앞에 static 이 붙은 변수. 모든 인스턴스가 공통된 저장공간(변수)를 공유하게 된다.
예시
클래스 변수는 static 변수 또는 공유변수 라고도 불린다.

클래스 변수 vs 인스턴스 변수 vs 지역 변수

종류
선언 위치
생성 시기(메모리 할당 시기)
클래스 변수
클래스 영역
클래스가 메모리에 올라갈 때
인스턴스 변수
클래스 영역
인스턴스가 생성되었을 때
지역 변수
클래스 이외의 영역(메서드, 생성자, 초기화 블럭)
변수 선언문이 수행되었을 때
예시
static 예시
인스턴스별로 가지고 있을 필요가 없는 변수(값의 공유나 참조가 목적인 변수)
인스턴스메서드에 static변수 사용 가능한 이유
인스턴스 메서드가 존재한다는 것은 static변수가 이미 메모리에 존재한다는 것을 의미(공용변수)