티스토리 뷰

study/Java

Variable

xoxowo 2022. 10. 4. 23:07

 

오늘의 일기 :

언어를 공부하면서 느낀 점은 비슷한 기능이지만 부르는 이름(?)이 달라서 각 공부하면서 개념을 정확하게 이해하는 것이 중요한 것 같다... 

 

 

 

 

변수 (Variable)

변수는 클래스 변수, 인스턴스 변수, 지역 변수 세 종류가 있다.

변수가 어디에 선언됐는지 선언 위치에 따라 결정지어진다.

클래스 영역에 선언되는 변수는 클래스 변수와 인스턴스 변수가 있고 클래스 이외의 영역에 선언되는 변수는 지역변수가 있다.

 

클래스 변수와 인스턴스 변수를 구분하는 방법은 쉽게 변수 앞에 static이 붙어있으면 클래스 변수, 붙어있지 않은 변수는 인스턴스 변수다.

 

클래스 변수는 모든 인스턴스가 공통된 변수(저장공간)를 공유하게 된다. 

따라서 모든 인스턴스들이 공통적인 값을 유지하거나 공유해야 할 속성의 경우 클래스 변수로 선언해야 한다.

 

인스턴스 변수클래스 인스턴스를 생성할 때 만들어진다. 인스턴스를 만들어야 인스턴스 변수를 선언할 수 있고 인스턴스가 독립적인 저장공간을 가지고 있기 때문에 서로 다른 값을 가질 수 있다.

 

지역 변수매서드 내에서 선언되고 매서드가 종료되면 소멸되어 사용할 수 없다.

예를 들면 for문의  {} 블럭 내에 선언된 변수는 지역변수이며, for문이 종료되면 해당 변수는 더 이상 사용할 수 없다.

 

class Variable {
	int iv; // 인스턴스 변수
	static int cv; // 클래스 변수 (static변수, 공유변수)
    
	void method ()
	{
		int lv = 0; // 지역변수 
	}
}
변수의 종류 선언위치 생성시기
클래스 변수
(class variable)
클래스 영역 클래스가 메모리에 올라갈 때
인스턴스 변수
(instance variable)
인스턴스가 생성되었을 때
지역 변수
(local variable)
클래스 영역 이외의 영역
(매서드, 생성자, 초기화 블럭 내부)
변수 선언문이 수행되었을 때

 

 

'study > Java' 카테고리의 다른 글

기본형 매개변수와 참조형 매개변수  (0) 2022.10.14
Java Project Create - vscode (Mac 기준)  (0) 2022.10.06
Array  (0) 2022.09.28
for 문  (0) 2022.09.25
변수 타입과 형변환(Casting)  (1) 2022.09.21
댓글