Enum 생성자에서 companion object 함수 호출
배경 개발 중인 프로젝트의 kotlin 버전을 1.5.30에서 1.9.0으로 올렸는데, 컴파일 에러가 발생했다. 에러 내용은 Companion object of enum class ... is uninitialized here 으로, 아래 사진과 같이 enum의 생성자 부분에서 enum class의 companion object 함수를 호출하지 못하고 있었다. 원인 분석 kotlin 1.9.0 이전 버전에서 이런 구조는 런타임에 NullPointerException나 ExceptionInInitializerError가 발생할 가능성이 존재했다. kotlin 1.9.0 에서 이를 해결하기 위해 컴파일 타임에 enum 생성자에서 companion object를 호출하는 것을 막도록 수정되었다. 참고 자료 https://kotlinlang....