테크과학! DiMo
개발 환경: play.kotlinlang.org
고차함수란?
함수를 마치 클래스에서 만들어낸 '인스턴스처럼' 취급하는 방법
함수를 '패러미터'로 넘겨줄 수도 있고 '결괏값으로 반환' 받을 수도 있는 방법
코틀린에서는 모든 함수를 고차함수로 사용 가능하다.
fun main() {
b(::a)
// 고차함수 형태로 넘기려면 함수 이름 앞에 콜론을 두개 붙여준다
// 람다 함수
val c:(String) -> Unit = {str -> println("$str 람다함수")}
// 람다함수 역시 변수에 할당할 때는 타입추론 기능을 이용하여 축약 가능.
// val c = {str:String -> println("$str 람다함수")}
}
fun a (str: String) {
print("$str 함수 a")
}
// (자료형, 자료형, ...)[파라미터] -> 자료형[반환형]
// 값이 없다는 형식인 Unit
fun b (function: (String)->Unit) {
function("b가 호출한")
}
// 람다함수는 일반함수와 달리 그 자체가 고차함수 이다.
람다함수 타입 추론 과정 및 타입 생략 플로우
'Kotlin > 기본 문법' 카테고리의 다른 글
코틀린 강좌 #15 오브젝트 (0) | 2020.12.19 |
---|---|
코틀린 강좌 #14 스코프 함수 (0) | 2020.12.19 |
코틀린 강좌 #12 변수, 함수, 클래스의 접근범위와 접근제한자 (0) | 2020.12.19 |
코틀린 강좌 #11 기본 프로젝트 구조 (0) | 2020.12.17 |
코틀린 강좌 #10 오버라이딩과 추상화 (0) | 2020.12.17 |