보글보글 개발일지
반응형

클래스 멤버 변수, 인스턴스 멤버 변수 구분하기

인스턴스 변수는 인스턴스가 생성될 때마다 생성되므로 인스턴스마다 각기 다른 값을 유지할 수 있지만, 클래스 변수는 모든 인스턴스가 하나의 저장공간을 공유하므로 항상 공통된 값을 갖는다.
변수의 종류 선언위치 생성시기
클래스 변수 클래스 영역 클래스가 메모리에 올라갈 때
인스턴스 변수 인스턴스 생성되었을 때 
지역변수 클래스 영역 이외의 영역 (메서드, 생성자, 초기화 블럭 내부) 변수 선언문이 수행되었을 때

클래스 멤버 변수 : static 키워드 사용.

  • 클래스를 통해 접근
  • 클래스 영역에 클래스 로딩되는 시점에 메모리에 생성
  • 프로그램 종료시 삭제

인스턴스 멤버 변수 : static 키워드 사용 X.

  • 객체를 통해 접근
  • 배열처럼 자동 초기화. 힙 공간에 만들어짐.
  • 객체 생성 시 생성. 객체 별로 생성 가능
  • 객체가 없어지는 가비지 컬렉션이 일어나는 시점에 삭제
반응형

'코딩기록 > 자바' 카테고리의 다른 글

[자바의 정석] 지네릭스  (0) 2024.01.24
자바 정렬 방법  (0) 2023.03.17
[이것이 자바다] Ch6. 클래스  (0) 2023.03.07
[이것이 자바다] Ch5. 참조타입  (0) 2023.01.20
[이것이 자바다] Ch4. 조건문과 반복문  (0) 2023.01.17
profile

보글보글 개발일지

@보글

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!