240516_디모의 코틀린 강의 #14. 고차함수와 람다함수

2024. 5. 20. 13:29TIL(Today I Learned)

유튜브 - 디모의 코틀린 문법 강의 정리

 

#14강. 고차함수와 람다함수

 

1. 고차함수: 함수를 클래스에서 생성한 인스턴스처럼 취급하는 방식

 

fun main() {
b(::a) // 함수 b를 호출(함수 a를 고차함수 형태로 파라미터화)

}

fun a(str:String) {
	println("$str 함수 a")
}

fun b(function: (String) -> Unit){
	// 고차함수를 파라미터로 받아올 때: (자료형, 자료형...) -> 자료형(반환형)
	function("b가 호출한")
}

// 결괏값: b가 호출한 함수 a

 

 

2. 람다함수: 고차함수식을 단순화해서 표현

fun main() {
b(::a) 
val c:(String) -> Unit = { str:String -> println("$str 람다함수") }
b(c) // 결괏값: b가 호출한 람다함수
}

fun a(str:String) {
	println("$str 함수 a")
}

fun b(function: (String) -> Unit){
	function("b가 호출한")
}

// 결괏값: b가 호출한 함수 a