[JAVA] 멤버변수의 초기화 시기와 순서 [클래스변수와 인스턴스변수의 초기화 순서]
·
◎ Java/Java☕
1. 멤버변수의 초기화 시기와 순서 클래스변수의 초기화 시점 : 클래스가 처음 로딩될 때 단 한 번 초기화 된다. 인스턴스변수의 초기화 시점 : 인스턴스가 생성될 때마다 각 인스턴스 별로 초기화가 이루어진다. 클래스변수의 초기화 순서 : 기본값 → 명시적초기화 → 클래스 초기화 블럭 인스턴스변수의 초기화 순서 : 기본값 → 명시적초기화 → 인스턴스 초기화 블럭 → 생성자 2. 멤버변수 초기화 순서 예시 class InitTest { // 명시적 초기화 static int cv = 1; int iv = 1; static { cv = 2; } // 클래스 초기화 블럭 { iv = 2; } // 인스턴스 초기화 블럭 // 생성자 InitTest() { iv = 3; } } 클래스변수 초기화(1 ~ 3) : 클..
[JAVA] 변수의 초기화란? [변수를 선언하고 처음으로 값을 저장하는 것]
·
◎ Java/Java☕
1. 변수의 초기화란? 변수를 선언하고 처음으로 값을 저장하는 것을 '변수의 초기화'라고 한다. 변수의 초기화는 경우에 따라 필수적이기도, 선택이기도 하지만 가능하면 선언과 동시에 적절한 값으로 초기화하는 것이 바람직하다. 자료형 기본값 boolean false char '\u0000' byte, short, int 0 long 0L float 0.0f double 0.0d 또는 0.0 참조형 변수 null 2. 멤버변수와 지역변수 초기화 멤버변수(클래스변수와 인스턴스변수)와 배열의 초기화는 선택적이지만, 지역변수의 초기화는 필수적이다. → 멤버변수는 기본값으로 초기화를 해주기 때문! class InitTest { int x; // 인스턴스변수 int y = x; // 인스턴스변수 void method1..