<aside> 💬
특정 변수의 값을 할당한 이후에 변경하지 않아야 한다면 final을 사용하자.
</aside>
변수에 final 이라는 키워드가 붙으면 더는 값을 변경할 수 없다.
참고로, final은 class, method를 포함한 여러 곳에 붙을 수 있다. 지금은 변수에 붙는 final 키워드를 알아보자.
final - 지역 변수
package final1;
public class FinalLocalMain {
public static void main(String[] args) {
// final 지역 변수1
final int data1;
data1 = 10; // 최초 한번만 할당 가능
// data1 = 20; // 컴파일 오류
// final 지역 변수2
final int data2 = 10;
// data2 = 20; // 컴파일 오류
method(10);
}
// final 매개 변수
static void method(final int parameter) {
// parameter = 20; // 컴파일 오류
}
}

final - 필드(멤버 변수)
package final1;
// final 필드 - 생성자 초기화
public class ConstructInit {
final int value;
public ConstructInit(int value) {
this.value = value;
}
}

package final1;
public class FieldInit {
static final int CONST_VALUE = 10;
final int value = 10;
}