참조_변수 초기화

2024. 1. 13. 14:09JAVA

변수는 스코프적 관점에서 봤을 때 크게 멤버변수, 지역 변수로 나뉜다.

 

짚고 넘어가보자.

 

멤버 변수

- 클래스 바로 아래에 선언되어 클래스 어디서든 사용할 수 있는 변수

- 멤버 변수는 정적변수, 인스턴스 변수로 나뉜다.( 하지만 나중에 알아본다)  

 

지역 변수

- 메서드나 생성자 블록 안에 선언되어 그 범위 내에서만 사용할 수 있는 변수

 

변수 값 초기화

멤버 변수, 지역 변수는 초기화 규칙이 다르다.

.. 어떻게 다를까?

 

멤버 변수 - 자동 초기화

- 멤버변수는 인스턴스를 생성할 때 자동으로 초기화 된다.

- 숫자 = 0 , boolean = false, 참조형 = null

- 개발자가 초기값을 직접 지정할 수 있다.

public class InitData {
    int notInitValue;  // 초기화 안 함
    int initValue = 10;     // 초기화 함
}

 

public static void main(String[] args) {
    InitData initData = new InitData();
    System.out.println("인스턴스의 멤버 변수는 직접 초기화 하지 않아도 초기화가 진행된다. \n notInitValue =  " + initData.notInitValue);
    System.out.println("물론 초기화 해도 상관 없다. \n initValue = " + initData.initValue);
}

 

 

지역 변수 - 수동 초기화

- 지역변수는 직접 수동으로 초기화 해야 한다. 수 차례 쳐봐서 알듯, 지 역 변수는 초기화 하지 않고 사용하려고 하면 바로 컴파일 에러가 발생한다.

public static void main(String[] args){
	int a;					// 지역변수 초기화 안 함.
    int b = 5;
    int result = a + b;		// 사용 불가. 컴파일 에러
}

'JAVA' 카테고리의 다른 글

참조_갈비지 컬렉션 GC ( Garbage Collection )  (0) 2024.01.13
참조_NULL  (0) 2024.01.13
참조_메소드  (0) 2024.01.11
참조_기본형과 참조형  (0) 2024.01.11
Class_instance  (0) 2024.01.10