코틀린 스코프 함수란?

객체 컨텍스트 내에서 코드 블록을 실행할 수 있도록 도와주는 유틸리티 함수

주로 코드 간결성, 객체 구성, 임시 컨텍스트 사용 등에 활용

코틀린 스코프 함수에는 let, run, with, apply, also

모두 람다를 인자로 받는 공통점이 있는 반면, 주요 차이점은

  1. 수신 객체를 어떻게 참조하는가?

    this(암시적으로 멤버 접근) or it (명시적으로 참조)

  2. 람다 결과로 무엇을 반환하는가?

    → 객체 자신 or 람다 결과

1.  let

val str: String? = "Hello"
val length = str?.let {
    println("문자열: $it")
    it.length
}

2.  run