static 변수란? 1
💡static 변수란?
- static 키워드로 선언된 필드는 클래스 변수이며, 클래스 인스턴스의 수와 관계없이 하나의 복사본만 존재한다.
“A class variable is any field declared with the static modifier; this tells the compiler that there is exactly one copy of this variable in existence, regardless of how many times the class has been instantiated.”
- static 변수는 본질적으로 전역 변수와 유사하다.
“Static variables are, essentially, global variables.”
💡static 변수 특징
- 클래스가 메모리에 로드될 때 단 한 번 메모리에 할당됩니다.
- 모든 객체가 동일한 static 변수에 접근하므로, 한 객체에서의 변경이 다른 객체에도 영향을 미칩니다.
- 클래스 이름을 통해 직접 접근할 수 있으며, 객체를 통해서도 접근 가능하지만 이는 권장되지 않습니다.
- 주로 상수나 공용 데이터 저장에 사용됩니다.
- static이 붙은 멤버 변수는 인스턴스와 무관하게 클래스에 바로 접근해서 사용할 수 있고, 클래스 자체에 소속되어 있다.
인스턴스 변수란? 2
💡인스턴스 변수란?
- static 키워드 없이 클래스 내부에 선언된 변수로, 각 객체(인스턴스)마다 별도의 복사본을 가집니다.
Non-static fields are also known as instance variables because their values are unique to each instance of a class (to each object, in other words); the currentSpeed of one bicycle is independent from the currentSpeed of another."
💡인스턴스 변수 특징
- 각 객체는 자신의 인스턴스 변수 복사본을 가지므로, 다른 객체와 독립적인 값을 유지합니다.
- 객체가 생성될 때 메모리에 할당되며, 객체가 소멸될 때 해제됩니다.
- 인스턴스 메서드에서 직접 접근할 수 있습니다.
- 클래스 외부에서는 객체를 통해 접근합니다.
- static이 붙지 않은 멤버 변수는 인스턴스를 생성해야 사용할 수 있고, 인스턴스에 소속되어 있습니다.
출처
김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런
김영한 | , 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다? 이걸로는 안됩니다!전 우아한형제들 기술이사, 누적 수강생 40만 명 돌
www.inflearn.com
주석 출처
'Java > [인프런] 김영한의 실전 자바 - 기본편' 카테고리의 다른 글
| [Java] static 변수와 메서드 VS 인스턴스 변수와 메서드 (0) | 2025.06.01 |
|---|---|
| [Java] 클래스의 멤버 메서드 종류 : static 메서드, 인스턴스 메서드 (0) | 2025.05.31 |
| [Java] static 변수 (1) | 2025.05.19 |
| [Java] 변수 생명 주기 (0) | 2025.05.15 |
| [Java] JVM 런타임 데이터 영역 : 메서드, 스택, 힙 영역 (0) | 2025.05.13 |