[kotlin] 코틀린 스코프 함수를 사용하여 객체의 상태를 변경하기
코틀린은 스코프 함수 라고 불리는 특별한 함수들을 제공하여 객체의 상태를 변경하거나 사용할 때 코드를 간결하게 작성할 수 있게 합니다. 스코프 함수는 apply
, also
, let
, run
, with
등이 있으며, 이들은 서로 다른 방식으로 객체를 조작하고 그 결과값을 반환합니다.
이번 글에서는 apply
와 let
함수를 사용하여 객체의 상태를 변경하는 예제 코드를 살펴보겠습니다.
apply 함수
apply
함수는 수신 객체를 확장하고, 객체 자신을 반환합니다. 이 함수는 주로 객체의 초기화 또는 설정 시 사용됩니다.
class Person(var name: String, var age: Int)
fun main() {
val person = Person("Alice", 30).apply {
age += 1
}
println("Name: ${person.name}, Age: ${person.age}") // 출력: Name: Alice, Age: 31
}
위 예제 코드에서 apply
함수는 Person
객체의 age
를 1 증가시키고, 변경된 객체를 person
에 할당합니다.
let 함수
let
함수는 수신 객체를 인자로 받아 람다 함수를 실행하고, 람다의 결과값을 반환합니다. 이 함수는 주로 null 체크나 연산 결과를 다른 작업에 활용하는 경우에 사용됩니다.
fun main() {
val name: String? = "Bob"
val message = name?.let {
"Hello, $it"
}
println(message) // 출력: Hello, Bob
}
위 예제 코드에서 let
함수는 name
이 null이 아닐 경우에만 람다를 실행하여 message
에 할당합니다.
이와 같이 코틀린 스코프 함수를 사용하면 객체의 상태를 변경하거나 사용할 때 코드를 보다 간결하게 작성할 수 있으며, 가독성을 높일 수 있습니다.