자바의 정석 가자!

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

'쪼리' 2022. 10. 31. 19:54

ch6-38 변수의 초기화

- 지역변수(lv)수동 초기화 해야함(사용전 꼭!!!)

- 멤버변수(iv, cv)자동 초기화된다.

 

ch6-39 멤버변수(iv, cv)의 초기화

1. 명시적 초기화( = )

- 대입연산자 이용해서 초기화

멤버변수의 간단 초기화

참조형 변수의 초기화_ 추가 설명

참조형 변수가 가질 수 있는 값

(1) null (기본값)  또는  (2) 객체주소

Engine e = new Engine();

객체를 생성해서, 객체를 넣어주는 것이 초기화다! 

 

멤버변수의 초기화

2. 초기화 블럭

- 인스턴스 초기화 블럭 : { }  / (인스턴스 변수 초기화할 때 쓴다)

- 클래스 초기화 블럭 : static { }  / (클래스 변수 초기화할 때 쓴다)

 

3. 생성자 - iv초기화 할 때 사용

 

보통, iv 초기화할 때 { } 잘 안 써서 생성자만 기억해도 된다

 

<간단정리>

1. 자동초기화

cv, iv 초기화 0으로 자동으로 됨

2. 간단초기화

대입연산자( = ) 이용

3. 복잡초기화

{ } , static { } 이용

 

* 멤버변수의 초기화 시점과 순서에 대해 알아보자

> 클래스 변수 초기화 시점 : 클래스가 처음 로딩될 때 단 한 번. (메모리에 올라갈 때)

> 인스턴스 변수 초기화 시점 : 인스턴스가 생성될 때마다(객체를 만들 때마다)

 

초기화 순서

1. 클래스 변수 먼저 초기화 되고 -> 그 다음에 인스턴스 변수 초기화

2. 자동초기화 -> 간단초기화 -> 복잡초기화

 

 

 

 

6장 끝!

7장 넘어가기 전, 6장 정리가 되어야한다.

6장 복습, 요약, 외우기

ex) 오버로딩이 무엇인가, 생성자가 무엇인가 등등