[Kotlin] v1.9 Language 변경점 - data object, value class, enum entries kotlin이 v1.9쯤 오니까 갑자기 버전이 훅!! 올라간것같은 기분이 드네요. 역시나 안정화 되고 출시를 앞둔 K2 compiler가 Beta로 올라왔다는 말로 시작을 장식합니다..만!! 아직은 여러 제약조건들이 존재하는것 같아서 일단 이 얘기는 제외 하려고 합니다. 정확하게는 KSP와 Compose의 지원이 아직은 미흡하고 추후 2.0 정식 출시시 통합된다고 하니, 그때를 기다려 봐야 겠습니다. 사실 빌드 속도가 얼마나 빨라질지 두근두근 합니다만.. 지금은 적용해서 돌면 다행, 안돌면 그만인 상황이라, K2 Compiler 얘기는 제외하고 언어적으로 바뀐 부분이 무엇인지만 간략하게 정리합니다. K2 compiler 적용 관련된 부분을 보고 싶으시다면 하기 references에 링크를 타고 진입 하시.. 개발이야기/Kotlin 2년 전
[Kotlin] Enum의 대체 - Sealed class / Sealed interface 정리 Sealed class / interface의 개념은 kotlin 초반 버전부터 진작에 나왔습니다. 따라서 이에 대한 활용법도 이미 많이 나와있는 상태인데, 대부분이 network response를 다루는 예제를 이용하여 설명하고 있습니다. 여기서는 enum을 대체할 수 있는 장점, compose에서 사용 예제까지 전체적인 내용을 정리해 볼까 합니다. Enum의 한계 Java 시절로 거슬러 올라가면 기존에 상수로 정의했던 특정 값들의 집합들을 enum이라는 클래스로 대체해서 사용하라는 권고가 나오게 됩니다. 이는 if-else문에서 const로 구성된 값들이 분기에서 누락될 수 있고, 이런 상수들을 param으로 받는 함수들의 경우에도 정의된 값만 입력받기를 의도 하지만 const로 정의된 제한된 타입이.. 개발이야기/Kotlin 3년 전