자바의정석

[자바의 정석 - 기초편] ch6-11 선언위치 변수종류

유호야 2022. 3. 8. 17:30
반응형

ch6-11 선언위치 변수종류

변수의 종류

1) 클래스 영역에 선언된 변수 iv 인스턴스변수

2) 메서드 영역에 선언된 변수 lv 지역변수

3) 클래스변수 cv : iv 앞에 static을 붙였을 때

  

메서드 선언 / 메서드 정의 

선언문의 순서는 상관없지만, 변수 선언이 일반적으로 먼저 온다. 

변수 선언문이 수행되었을 때 lv 지역변수가 생긴다.
> 유효한 범위는 메서드 안에서만

iv 인스턴스가 생성되었을 때, 인스턴스 변수가 생성된다. 

객체를 생성했을 때 만들어진다. 

 


객체 = iv 인스턴스 변수를 묶어 놓은 것

클래스 변수는 클래스가 메모리에 올라갈 때 생성이 된다. 
즉 클래스가 필요할 때(설계도가 필요할 때, 객체를 만들 때) 
객체를 만들기 직전에 설계도를 만들기 때문에 

클래스 변수는 자동으로 만들어진다. 
객체 생성을 하지 않아도 된다. 
그러나 IV 인스턴스 변수는 객체 생성이 필요하다. 

CV는 아무때나 사용이 가능하다.

CPU는 모든 작업을 RAM하고만 한다. 
로딩/세이브

 

언젠간 알아야 하는 부분이기는 하다. 
CPU / 로딩... 등


영역에는

1) 클래스 영역
2) 메서드 영역이 있다.

1) 클래스 영역에 선언된 부분은 - IV , CV
2) 메서드 영역에 선언된 변수는 - LV 지역변수(유효범위, 스코프 내에서만 유효하다)

객체는 IV 변수의 묶음

 

IV는 참조변수가 없어지면, Garbage collector에 의해서 자동으로 삭제된다. 

클래스 변수는 객체 생성 필요 없이 아무때나 사용할 수 있다. 
lv는 객체 생성할 때 만들어진다.

반응형