반응형
인스턴스(인스턴스화, 인스턴스 변수), 클래스 변수
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 |