Java/[inflearn] 자바 기본

[김영한_자바기본][8.final] finl 변수와 참조 (p.7-8)

줌인. 2024. 2. 16. 13:58

 

final을 참조형 변수에 사용하면 참조값을 변경할 수 없다.
ex) final Data data = new Data();

 

 

 

 

[p.7 / FinalRefMain] 

public class FinalRefMain {

    public static void main(String[] args) {
        final Data data = new Data();
        //data = new Data();

        data.value = 10;
        System.out.println(data.value);

        data.value = 20;
        System.out.println(data.value);
    }
}

- `final` 키워드를 사용하여 선언된 변수는 한 번 할당된 참조값을 변경할 수 없다.

- 따라서 `final Data data = new Data();`와 같이 변수를 초기화한 후에는 해당 변수에 새로운 객체를 할당할 수 없다.

 

[p.8 / FinalRefMain_발췌] Data 타입 객체 생성 + final : 참조값을 할당했기에 참조값을 변경할 수 없다.

final Data data = new Data();
//data = new Data();

- data변수에 x001이라는 참조값을 담았다면, 새롭게 생성한 x002로 교체가 불가하다는 의미이다.

- 즉 초반에 생성한 참조값만 할당이 되고, 그 뒤는 교체가 불가하다.

 

 

*final 참조형 변수 도식

728x90