Java/[인프런] 김영한의 실전 자바 - 기본편

[Java] 클래스 멤버 변수(필드) 종류 : static 변수, 인스턴스 변수

annovation 2025. 5. 20. 23:04

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이 붙지 않은 멤버 변수는 인스턴스를 생성해야 사용할 수 있고, 인스턴스에 소속되어 있습니다.

출처

https://www.inflearn.com/course/김영한의-실전-자바-기본편?srsltid=AfmBOorsKsHF2yYZ6xTn8xNWTCfuLaexrv2zJD7mTTK9PvoOIZBZS9Eo

 

김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런

김영한 | , 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다? 이걸로는 안됩니다!전 우아한형제들 기술이사, 누적 수강생 40만 명 돌

www.inflearn.com


주석 출처