Scope Functions
context 내에서 코드 블록을 실행하는 것이 유일한 목적인 함수가 kotlin 표준 라이브러리에 포함되어있다.
객체에서 이 람다 함수를 호출하면 해당 함수는 일시적인 scope를 생성하고, 해당 scope 안에서는 객체의 이름 없이도 접근이 가능하다.
apply
객체를 설정하는 상황에서 사용된다. 객체 자신을 다시 반환하기 때문에 특정 객체의 프로퍼티를 설정 후 바로 사용하기 쉽다.
also
객체의 속성을 전혀 사용하지 않거나 이를 변경하지 않으면서 사용하는 경우에 사용한다.
객체의 유효성 검사에서 대표적으로 쓰인다.
let
call chain의 결과에서 1개 혹은 그 이상의 함수를 호출하는 데 사용할 수 있다.
수신 객체가 null이 아닐때만 코드를 실행해야 할 경우 사용한다.
with
람다 결과를 제공하지 않고 객체의 콘텍스트 안에서 함수를 호출하는 경우 사용한다.
non-null인 객체만 사용 가능한다.
결과를 반환 받을 필요가 없을 경우 사용한다.
run
apply와 비슷하지만 이미 생성된 객체에 대한 call chain으로 호출한다는 점이 다르다.
람다 함수 안에 객체 초기화와 return 값의 계산이 포함될때 유용하게 사용할 수 있다.
코드의 마지막 수행 결과를 반환한다.
'Kotlin > 문법' 카테고리의 다른 글
Kotlin - StringBuilder (0) | 2024.02.19 |
---|---|
Kotlin - 정규식 (1) | 2024.02.16 |
Kotlin - reduce, fold (0) | 2024.02.13 |
Kotlin - 소수 구하기 (0) | 2024.02.08 |
Kotlin - filter, map (0) | 2024.02.07 |