final 키워드!

leverest96·2023년 9월 3일
0

Trouble Shooting

목록 보기
18/20
post-thumbnail

문제상황

final 키워드를 무작위로 붙이다보니 변수나 나중에 바뀌지 않을 녀석에 붙이는 것은 이해가 됐다. 하지만 왜 객체에 붙이고 나서 속성값이 변하는 곳에도 붙여도 되는 것일까?에 대한 의문이 들었다.

해결방법

놀랍게도 객체 변수에 final로 선언하면 그 변수에 다른 참조 값을 지정할 수 없게 되기 때문에 immutable하다는 것이지 객체 자체가 immutable하다는 의미는 아니라고 한다. 객체의 속성은 변경 가능하다!

따라서, 객체를 선언하고 (머시기 머시기 = new 머시기()) final 키워드를 붙여도 머시기의 속성은 변경하다는 것이 설명이 되었다!

profile
응애 난 애기 개발자

0개의 댓글