정의

  • 코틀린 표준 라이브러리에서 제공하는 확장 함수
  • 객체의 context 내에서 실행 가능한 코드 블럭을 만드는 함수
  • 호출 시 임시 범위가 생성되며, 해당 범위 내에서는 이름 없이 객체에 접근이 가능

종류

  • 수신 객체 it (생략 불가능)
    • let
    • also
  • 수신 객체 this (생략 가능)
    • apply
    • run
  • 수신 객체 함수의 인자
    • with
  • 리턴 타입
    • 수신 객체
      • apply
      • also
    • 람다 식의 마지막 행
      • run
      • let
      • with

사용

  • let: null 체크를 할 때, 지역 변수를 명시적으로 표현해야 할 때
  • run: 객체를 초기화하고 리턴 값이 있을 때
  • apply: 객체 초기화
  • also: 수신 객체를 명시적으로 사용하고 싶을 때, 로그를 남길 때
  • with: 객체 초기화, 람다 리턴 값이 필요 없을 때