enum은 단순한 이름 상수(name constant)가 아니라, 각 상수마다 다른 데이터를 가질 수 있는 객체다.
즉, 아래처럼 NAVER, KAKAO는 단순히 "naver"나 "kakao"라는 이름이 아니라, Partner라는 클래스의 인스턴스이고, 각각 다른 값을 갖는 객체다:
enum class Partner(val value: String) { NAVER("naver"), KAKAO("kakao") }
Kotlin의 enum class에서 value: String처럼 val 없이 생성자 매개변수만 선언할 때, 이런 단순 생성자 매개변수는 왜 존재하는가? 언제 쓰는가?
내부 처리용 임시 매개변수로 사용하려는 경우에만 의미 있음
즉, val이나 var 없이 생성자 매개변수를 선언하면, 그 값은 enum 상수의 생성 시점에서 일시적으로 전달되는 값일 뿐이고, 외부에 노출되거나 저장되지 않는다.
'【 개발 이야기 】' 카테고리의 다른 글
[Spring Boot] WebFliter의 테스트 코드를 DefaultServerWebExchange사용하여 작성해보자 (4) | 2025.07.10 |
---|---|
실전!! companion object를 사용한 공식문서 리팩터링 (1) | 2025.07.07 |
MDCContext (2) | 2025.06.20 |
람다를 사용한 Sl4j 보일러 플레이트 개선 (2) | 2025.06.20 |
[Spring Boot] WebFilter (1) | 2025.06.19 |