☕ 자바 JAVA/☕ 변수와 자료형 Variables & Data Type

[JAVA]변수의 초기화

뉴이 NUEY 2024. 3. 12. 05:42
반응형
지역변수lv는 사용 전 꼭 수동초기화 해야한다

 

int x;      // 인스턴스 변수 iv
int y = x;  // 재사용이 빈번하여 자동으로 0으로 초기화된다.

void method1() {
	int i; // 지역변수lv
	// int j = i; // ERROR 지역변수를 초기화하지 않아 사용할 시 에러.
}

 

  • 지역변수 lv : local valiable는 초기화 하지 않을 시 에러 발생.
  • 따라서 변수 선언 시 값을 대입하는 초기화가 필요합니다.
  • 인스턴스 변수 iv : instance valiable 은 사용이 빈번하여 클래스 생성시 자동으로 0으로 초기화 된다.
  • 자동초기화시 참조변수는 null, boolean은 false, 그 외의 값은 0 으로 초기화된다고 보면 된다.

 

크게 명시적초기화(간단초기화) 와 block초기화(복잡초기화)로 나눌 수 있다. + 생성자

 

명시적초기화
: 대입연산자 = 를 이용한
간단초기화

 

class Car {
    /**
     * 명시적 초기화(=). 대입연산자 = 를 활용한 간단초기화
     */
    int door = 4;           // 기본형(primitive type) 변수의 초기화
    Engin e = new Engin();  // 참조형(reference type) 변수의 초기화
}

 


 

초기화 블럭
: { }를 이용한 복잡초기화
class StiaticBlock {
    static int[] arr = new int[10]; // 명시적 초기화
    
    static {    // 클래스 초기화 블럭 - 배열 arr을 난수로 채운다.
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (int)(Math.random() * 10) + 1;
        }
    }
}

cv : class variable 를 초기화 할 때 static { }을 이용해 복잡한 값을 대입할 수 있다.

 

 

 


 

 

 

아는 내용을 다시 공부하는 거긴 하지만..복잡초기화는 처음 보는 거라 신기하네요. 

iv복잡초기화도 있긴한데 잘 안 쓴다고 합니다.

반응형