Language/Java & Kotlin

[Kotlin] 자주 쓰이는 코틀린 문법 정리 1. 코틀린 스코프함수 (apply, run, with, let)

Joonfluence 2024. 8. 23.
  1. let
  • let 함수는 수신 객체(it)를 인자로 받아 블록 내부에서 처리한 후, 결과를 반환합니다.
fun main() {
    val name: String? = "Kotlin"

    val length = name?.let {
        println("Name is $it")
        it.length
    }

    println("Length of name is $length")
}
  1. apply
  • apply 함수는 객체 초기화 시 주로 사용되며, 객체 자신을 반환합니다. 블록 내부에서는 객체를 this로 참조합니다.
class Person {
    var name: String = ""
    var age: Int = 0
    var address: String = ""

    override fun toString(): String {
        return "Person(name='$name', age=$age, address='$address')"
    }
}

fun main() {
    val person = Person().apply {
        name = "John"
        age = 30
        address = "123 Main St"
    }

    println(person)
}
  1. run
  • run 함수는 수신 객체를 블록 내부에서 this로 참조하며, 블록의 결과를 반환합니다.
fun main() {
    val result = "Kotlin".run {
        println("The receiver string length is $length")
        length
    }

    println("Result is $result")
}
  1. with
  • with 함수는 수신 객체를 인자로 받아 블록 내부에서 this로 참조하며, 블록의 결과를 반환합니다. 주로 이미 인스턴스화된 객체에서 여러 함수를 호출할 때 사용됩니다.
fun main() {
    val numbers = mutableListOf(1, 2, 3)

    val result = with(numbers) {
        add(4)
        add(5)
        "The list now contains $size elements"
    }

    println(result)
}
반응형

댓글