Kotlin apply, with, let, also, run

Kotlin apply, with, let, also, run 은 언제 사용해야 하는가


1. apply

kotlin


코드 복사
val person = Person().apply {
    name = "Alice"
    age = 25
}

2. with

kotlin


코드 복사
val result = with(person) {
    println(name)
    println(age)
    "Completed"
}

3. let

kotlin


코드 복사
val name = person?.let {
    println(it.name)
    it.name.uppercase()
}

4. also

kotlin


코드 복사
val person = Person().also {
    println("Creating person: $it")
}

5. run

kotlin


코드 복사
val result = person.run {
    println(name)
    age += 1
    "Age incremented"
}

요약

함수 참조 방법 주요 용도 반환값
apply this 객체 설정 객체 자체
with this 동일 객체에 대해 여러 작업 실행 람다의 결과값
let it Nullable 처리, 변환 및 사용 람다의 결과값
also it 부가 작업 (로깅, 디버깅 등) 객체 자체
run this 객체 설정 후 결과 반환 람다의 결과값

선택 기준: 작업의 목적(객체 설정, 변환, 부가 작업 등)에 따라 적절한 스코프 함수를 선택하세요.