반응형
First Class Citizen(1급 객체)
1급객체의 조건 3가지
- 변수나 데이타에 할당 할 수 있어야 한다.
- 객체의 인자로 넘길 수 있어야 한다.
- 객체의 리턴값으로 리턴 할수 있어야 한다.
1.변수나 데이터에 할당할 수 있어야 한다
object Main {
@JvmStatic
fun main(args: Array<String>) {
val a = test
}
val test: () -> Unit = { println("kotlin") }
}
2.객체의 인자로 넘길 수 있어야 한다
object Main {
@JvmStatic
fun main(args: Array<String>) {
function(test)
}
fun function(f: () -> Unit) {
f.invoke()
}
val test: () -> Unit = { println("kotlin") }
}
3.객체의 리턴값으로 리턴할 수 있어야 한다
object Main {
@JvmStatic
fun main(args: Array<String>) {
function()
}
fun function(): () -> Unit {
return { println("kotlin") }
}
}
반응형
'Android > Kotlin' 카테고리의 다른 글
Dialog (0) | 2019.02.27 |
---|---|
RxBus (0) | 2019.02.15 |
Higher-order-function(고차함수) (0) | 2019.02.01 |
const val과 그냥 val의 차이 (0) | 2019.01.22 |
lateinit & by lazy (0) | 2018.12.11 |