본문 바로가기
Java

인스턴스와 변수

by 재성스 2023. 8. 9.
반응형

인스턴스(인스턴스화, 인스턴스 변수), 클래스 변수

 

1. 인스턴스(Instance)

  • 클래스를 기반으로 생성된 '실체화'된 객체
  • 클래스의 정의대로 속성(멤버 변수)과 동작(메서드)를 갖는다.
  • 즉, 인스턴스는 객체의 한 종류로서, 객체의 상태와 동작을 실체화 함.
  • 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 표현함.

 

2. 인스턴스화(Instantiation)

  • 클래스를 기반의 객체(인스턴스)를 생성하는 '작업'
  • 클래스는 실체화되지 않은 설계도이므로, 인스턴스화를 통해 클래스를 사용할 수 있는 것

 

3.인스턴스 변수(Instance Variable)

  • 클래스의 객체(인스턴스)마다 다른 값을 저장하는 변수(클래스의 정의되어 있는 필드)
  • 객체의 상태를 나타내는 데이터를 저장하는 역할을 함.

 

4. 클래스 변수(Class Variable)

  • 클래스 변수는 해당 클래스의 모든 인스턴스들이 공유하는 변수
  • 즉, 같은 클래스의 모든 객체들이 동일한 클래스 변수를 참조
  • static이라는 키워드가 있으면 클래스 변수

 

 

기본적인 변수의 종류와 생성 시기

 

 

변수의 종류 선언 위치 생성 시기
클래스 변수
(Class Variable)
클래스 영역 클래스가 메모리에 올라
인스턴스 변수
(instance variable)
인스턴스가 생성되었을
지역변수
(local variable)
클래스 영역 이외의 영역
(메서드 생성자 초기화 블럭 내부)
변수 선언문이 수행되었을
반응형

'Java' 카테고리의 다른 글

객체 지향 설계의 기본 :: 역할과 구현의 분리  (0) 2023.09.25
익명 객체(Anonymous Object)  (0) 2023.09.04
추상 클래스(abstract class)  (0) 2023.08.30
클래스와 객체, 변수  (0) 2023.08.28
객체지향 프로그래밍(OOP)  (0) 2023.08.09