자바의정석

[자바의 정석 - 기초편] ch6-38~41 변수의초기화, 멤버변수의 초기화

유호야 2022. 3. 10. 17:59
반응형

ch6-38 변수의 초기화

- 지역변수(iv)는 수동 초기화 해야 함 
- 멤버변수는(iv, cv)는 자동으로 초기화된다.

메서드의 메모리 공간은 재사용이 빈번한 메모리이기 때문에 

매번 값을 초기화하고 할 수가 없기 때문에 늘 새로운 값으로 덮어쓴다 = 초기화

따라서 수동 초기화 되어야 한다. 

인스턴스 변수는 유지기간이 길기 때문에 초기화로 사용해도 괜찮다. 

객체는 여러 변수를 묶어 놓은 것이라, 변수를 다 0으로 초기화 하려면, 배열도 그렇고, 자동으로 초기화하지 않으면 초기화 할 것이 많아서 자동으로 해준다.  


ch6-38 변수의 초기화

 


ch6-39 멤버변수의 초기화

멤버 변수 = iv / cv

1. 명시적 초기화(=)
대입 연산자로 선언, 간단한 초기화 방법

참조형 변수는 null 또는 객체 주소의 값을 갖는다. 
null은 초기화가 아니다. 

따라서 참조변수는 null이 아닌 객체를 만들어 주어야 한다.

 2. 초기화 블럭 (복잡한 초기화에서 사용된다)

여러 문장을 넣기

- 인스턴스 초기화 블럭 : {} iv
- 클래스 초기화 블럭 : static {} cv

3. 생성자 iv 초기화 / 복잡한 초기화에 사용 된다. 

복잡한 초기화 iv일 때는 {}(거의 안 씀), 생성자  
cv일 때는 static {]

 


ch6-39 멤버 변수의 초기화

 

클래스 변수 (cv)가 먼저 초기화되고.....
인스턴스 변수(iv)가 초기화 된다. 

초기화 순서

1. cv > iv
2) 자동 > 간단 > 복잡 = static{} / 생성자

 

반응형