Language/kotlin

Language/kotlin

[Kotlin] Enum의 새로운 values Function 등장, entries

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와 동일하게 열거된 상수들을 연속적으로 접근할 수 있습니다..

Language/kotlin

[Kotlin] 데이터 표현을 위한 Data Object

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)된 데이터 홀더 객..

Language/kotlin

[Kotlin] Singleton

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..

Language/kotlin

[Kotlin] - 기본문법 2

DTOs(Data Transfer Object)(POJOs/POCOs) 생성하기 우선, kotlin을 사용하면 get set 메소드를 만들어줄 필요가 없습니다. kotlin을 컴파일하면 java에서 자동으로 get set 메소드를 만들어 줍니다. val var에 따라 get set 유무가 달라지며 val은 read-only로 get 함수만 만들어집니다. java에서 Data 접근을 사용하는 방법은 2가지입니다. public class Sample{ String name; String email; public Sample(String name,String email) { this.name = name; this.email = email; } } public 접근 지정자를 사용하여 메소드 없이 변수에 직접 ..

Language/kotlin

Kotlin의 유용한 함수들 - let, apply, run, with

let 호출하는 객체의 값을 block에 전달하고 block의 결과값을 반환 fun T.let(block: (T) -> R): R 사용 예 한번쓰고 나서 사용하지 않을 변수가 있을 때 let을 사용하면 불필요한 선언을 방지해준다. val test = Test() setTest(test) //let 사용 Test().let{ setTest(it) } safe-calls 와 결합하여 null check에 사용할 수 있다. var obj:String? = null if(obj != null){ ... } //let 사용 obj가 null이 아닐경우 실행 obj?.let{ ... } apply 함수를 호출하는 객체를 이어지는 block의 리시버를 전달하고, 객체자체를 반환 리시버란? 이어지는 block 내에서 ..

Language/kotlin

[Kotlin] Kotlin을 왜 배워야 할까요?

안녕하세요. 점냥입니다 :) 여러분들은 Kotlin 언어를 알고 있나요? 열심히 Android 공부를 하고 있는 여러분이라면 이미 알고 있겠죠 ㅎㅎㅎ Kotlin은 Google I/O 17년도에서 Android 공식 언어로 지정되었습니다!! 아직 Kotlin을 사용하지 않는 다면 서두르세요. 어느새 Android Develop 사이트 전반적인 코드 샘플들과 공식 유투브에서 Kotlin 언어를 기본으로 사용중인 것을 확인할 수 있습니다. 이 포스팅을 읽고 나서 Kotlin 언어에 대한 흥미가 생기셨으면 좋겠습니다. Kotlin 배경 Kotlin 언어가 나오기 전 Android 플랫폼에서는 C++ 언어도 쓰이긴 했지만, 대다수의 개발자들은 Java 언어를 사용해서 개발했습니다. Java 언어는 JVM에서 동..

점냥
'Language/kotlin' 카테고리의 글 목록