목록public static final (1)
잡동사니
Enum에서 final로 멤버변수를 정의해야하는 이유
안녕하세요. yeTi입니다. 오늘은 Java 의 Enum 을 지역 변수처럼 사용하려고 시도하면서 겪은 현상을 공유하고자 합니다. 현상 다음 테스트 코드와 같이 enum 을 여러 곳에서 지역 변수로 할당받아 Enum의 내부 변수(message)를 변경하는 작업을 수행했더니 의도와는 다르게 message 의 값이 이전 값을 계속 유지하는 버그가 나타났습니다. class EnumTest { @Test void constructor() { EnumType responseType1 = EnumType.INTERNAL_SERVER_ERROR; responseType1.changeMessage("yeti"); EnumType responseType2 = EnumType.INTERNAL_SERVER_ERROR; res..
IT/Java
2022. 6. 7. 15:31