Java, final 필드의 불변성 강화

2025-03-31

Java 프로그램의 안전성과 성능을 향상시키기 위해 JDK는 final 필드의 불변성을 강화할 계획입니다. 현재 깊은 반사(deep reflection)를 통해 final 필드를 변경할 수 있지만, 이는 final 키워드의 본래 의도에 위배되며 JVM 최적화를 제한합니다. 향후 릴리스에서는 기본적으로 깊은 반사를 통한 final 필드 변경을 금지하고 경고를 표시합니다. 개발자는 `--enable-final-field-mutation` 옵션을 사용하여 final 필드 변경을 선택적으로 활성화할 수 있지만, 가능한 한 피하는 것이 좋습니다. 이러한 변경은 Java의 "기본 안전" 기능을 개선하고 레코드 클래스 설계와 일관성을 유지하기 위한 것입니다.