🖋
범위 지정 함수 (Scope Function)
March 01, 2023
정의
- 코틀린 표준 라이브러리에서 제공하는 확장 함수
- 객체의 context 내에서 실행 가능한 코드 블럭을 만드는 함수
- 호출 시 임시 범위가 생성되며, 해당 범위 내에서는 이름 없이 객체에 접근이 가능
종류
- 수신 객체 it (생략 불가능)
- let
- also
- 수신 객체 this (생략 가능)
- apply
- run
- 수신 객체 함수의 인자
- with
- 리턴 타입
- 수신 객체
- apply
- also
- 람다 식의 마지막 행
- run
- let
- with
- 수신 객체
사용
- let: null 체크를 할 때, 지역 변수를 명시적으로 표현해야 할 때
- run: 객체를 초기화하고 리턴 값이 있을 때
- apply: 객체 초기화
- also: 수신 객체를 명시적으로 사용하고 싶을 때, 로그를 남길 때
- with: 객체 초기화, 람다 리턴 값이 필요 없을 때