Android/Kotlin

First-class citizen (1급객체)

lipnus 2019. 2. 1. 14:44
반응형


First Class Citizen(1급 객체)

https://medium.com/@lazysoul/functional-programming-%EC%97%90%EC%84%9C-1%EA%B8%89-%EA%B0%9D%EC%B2%B4%EB%9E%80-ba1aeb048059



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