자바를 잡아라

[JAVA] 변수의 초기화

presnt__lee 2023. 7. 5. 15:16
반응형

변수를 선언하고 처음으로 값을 저장하는 것을 '변수의 초기화'라고 한다. 

 

멤버 변수, 배열: 초기화를 하지 않아도 자동적으로 변수의 자료형에 맞는 기본값으로 초기화가 된다. 

ex)null, 0, false...

 

지역 변수: 사용하기 전에 반드시 초기화해야 한다. (클래스 전역이 아닌 클래스 안의 메소드안이나 생성자 안이나 등등..

클래스 안에 중괄호 안에 있는 것 . ) 

cf)메모리가 덮어쓰기 방식이기 떄문이다. 지역변수 자동초기화하면 비효율적으로 메모리가 작동하기 때문

 

초기화 순서

1) 클래스 변수(cv) 초기화-> 인스턴스 변수(iv) 초기화

2) 자동 초기화 -> 명시적 초기화(간단) -> 초기화 블럭, 생성자(복잡) 

 

 

1. 멤버변수의 초기화

1. 명시적 초기화 /간단 초기화

명시적 초기화란  

변수를 선언과 동시에 초기화하는 것을 명시적 초기화라고 한다. 가장 기본적이면서도 간단한 초기화 방법이므로 여러 초기화 방법 중에서 가장 우선적으로 고려되어야 한다. 

 

2. 초기화 블럭/ 복잡한 초기화   

초기화 블럭이란

'클래스 초기화 블럭' :클래스 변수의 복잡한 초기화에 사용된다.   ex)static{} cv /시점: 클래스가 처음 로딩될때 단 한번

'인스턴스 초기화 블럭' : 인스턴스의 복잡한 초기화에 사용된다.   ex){} iv    /  시점: 인스턴스가 생길 때 마다 

 

 

다시 한번 그러므로 초기화 순서 정리

1. cv->iv

2. 자동-> 간단-> 복합

   0, null >  =  >  static{}/ 생성자

 

 

 

 

 

반응형

'자바를 잡아라' 카테고리의 다른 글

[JAVA] chapter 3 연산자  (0) 2023.08.08
[JAVA] chapter2 변수  (0) 2023.08.07
[JAVA][객체2] 상속/포함관계  (0) 2023.07.05
[JAVA] 생성자/ This  (0) 2023.07.04
[JAVA] 메서드 오버로딩(overloading)  (0) 2023.07.04