Kotlin Generics 정의
kotlin의 Generics을 정리합니다. Java에서 사용하는 Generics과 동일하게 사용할 수 있지만, Kotlin은 Generics 정의한 클래스를 상속받을 때 명시적으로 지정해야 합니다.
다시 말해 java에서는 제네릭 정의를 하지 않아도 기본 Object로 만들어주지만, 코틀린에서는 명시적으로 꼭 적어주도록 만들었습니다.
Android developer's blog. story.
kotlin의 Generics을 정리합니다. Java에서 사용하는 Generics과 동일하게 사용할 수 있지만, Kotlin은 Generics 정의한 클래스를 상속받을 때 명시적으로 지정해야 합니다.
다시 말해 java에서는 제네릭 정의를 하지 않아도 기본 Object로 만들어주지만, 코틀린에서는 명시적으로 꼭 적어주도록 만들었습니다.
Kotlin에는 Higher-Order Functions이 제공됩니다.
Higher-Order Functions은 함수를 변수로 넘겨주거나, 이를 반환하는 것을 말합니다. 아래 코드는 레퍼런스 문서에 나와있는 lock 함수를 그대로 옮겨왔습니다.
fun <T> lock(lock: Lock, body: () -> T): T {
lock.lock()
try {
return body()
}
finally {
lock.unlock()
}
}
Android MVC/MVP/MVVM가 소개되었고, 다양한 방법으로 이러한 Architecture를 적용하게 됩니다.
구글에서는 테스트 가능한 형태를 만들어주기 위해서 Android Architecture Blueprints을 소개해주었습니다. 하지만 모두가 이러한 방법을 따르는 것은 아닙니다.
이번 글에서는 MVC > MVP > MVVM으로 순차적으로 넘어가게 되었던 내용을 정리해보았습니다.
제 생각을 정리한 글입니다. 단순 참고해주세요. RxJava/data-binding 등의 이야기는 별개입니다.
Google I/O 2017 이후 Kotlin은 안드로이드를 개발할 수 있는 또 하나의 정식 언어가 되었습니다.
기존에 작성하였던(2016. 07. 31) 글을 최신으로 업데이트합니다.
Android Studio 3.0 정식 버전이 나오면 다음 글은 의미가 없어지긴 하지만 플러그인 설치하는 과정을 다시 정리합니다.