Enum은 클래스 내에 상수들을 열거해 관리하는 문법으로, 각 상수들은 객체처럼 property와 function을 가질 수 있는 특징이 있습니다. Stable replacement of the enum class values functionEnum 클래스의 열거된 상수들을 연속적으로 접근하고 싶을 때 values 함수를 자주 사용했었는데요. 그러다 최근 Kotlin 1.9.0 버전으로 업그레이드를 하니 values 대신 entries 속성을 사용하길 권장합니다. Enum의 entries는 kotlin 1.8.20에서 Beta 기능으로 처음 등장했고 kotlin 1.9.0 버전에서 정식으로 Stable 되었습니다. entries 속성도 values와 동일하게 열거된 상수들을 연속적으로 접근할 수 있습니다..
Kotlin 1.9.0 버전으로 올리면 Selad Class 자식으로 object 대신 data object를 사용하라고 권장합니다. 기존 object와 차이점은 무엇일까요? 어떤 장점이 있는 걸까요? 밑줄까지 치면서 권장하면서 말이에요 Stable data objects for symmetry with data classes https://kotlinlang.org/docs/whatsnew19.html#support-for-secondary-constructors-with-bodies-in-inline-value- classes What's new in Kotlin 1.9.0 | Kotlin kotlinlang.org data object는 1.9.0 버전부터 정식 출시(Stable)된 데이터 홀더 객..
java와는 다르게 kotlin에서 singleton은 아주 간편하게 구현할 수 있다. java의 Singleton Object 기본 사용 object A var a : A = A kotlin의 object 키워드는 Singleton을 보장해준다. 한 줄이여서 너무 간편하다.. 하지만 object는 생성자를 지원하지 않기 때문에 만약 Singleton을 생성할 때 매개변수가 필요하다면 사용할 수 없다. companion object로 구현 class A { companion object { @Volatile private var instance: Singleton? = null @JvmStatic fun getInstance(context : Context): A = instance ?: synchron..
2017년 Google I/O 에서 Kotlin을 Android 공식 개발 언어로 지정했습니다. 벌써 꽤 시간이 지났네요. 부끄럽지만 Kotlin의 구체적인 장점이 떠오르지 않고 Java와 비교해서 개발이 훨씬 편해졌다고만 느끼고 있더라고요. 이번 글을 쓰면서 kotlin을 왜 쓰게 되었는지. Kotlin의 장점은 무엇인지 다시 한번 생각해 보는 시간이 되었습니다Kotlin의 장점Kotlin의 장점은 간단히 정리하면 (자바와 비교해서) 간결한 문법과 편리한 기능입니다. 많은 글들에서 Kotlin의 장점을 Java와 비교해서 설명하고 있습니다. Android 개발자부터 시작해서 최근에는 Kotlin+Spring이 서버 개발자 사이에서 인정받기 시작했습니다. 그래서 Java와 Kotlin으로 넘어온 비중이 ..