YD_S 개발로그
article thumbnail

스코프 함수란?

  • 코드를 축약해서 표현할 수 있도록 도와주는 함수이며 영역 함수라고도 합니다.
  • 사용법은 함수처럼 쓰지 않고 run, let처럼 괄호 없이 일종의 키워드같이 사용합니다.
  • lateinit과 함께 Safe Call 남용을 막아주는 역할을 합니다.
  • 스코프 함수에는 run, let, apply, also, with가 있습니다.  

this와 it으로 구분하기

this로 사용되는 스코프 함수

  • this로 사용되는 스코프 함수 : run, apply, with
  • 클래스 내부의 함수를 사용하는 것돠 동일한 효과이기 때문에 this 생략 가능
호출 대상이 null일 경우
with는 스코프 함수이긴 하지만 확장(Extension) 함수가 아니기 때문에 일반 함수처럼 사용됩니다. 
따라서 호출 대상이 null일 경우 apply나 run을 사용하는 것이 효율적입니다.

 

it으로 사용되는 스코프 함수

  • it으로 사용되는 스코프 함수 : let, also
  • it대신 다른 이름으로 변경 가능

반환값으로 구분하기

this 자체를 반환하는 스코프 함수

  • this 자체를 반환하는 스코프 함수 : apply, also
  • 스코프 함수 안에서 코드가 모두 완료된 후 자기 자신을 되돌려줍니다.

 

마지막 실행 코드를 반환하는 스코프 함수

  • 마지막 실행 코드를 반환하는 스코프 함수 : let, run, with
  • 자기 자신이 아닌 스코프의 마지막 코드를 반환합니다.

Reference

이것이 안드로이드다 with 코틀린 - 고돈호

profile

YD_S 개발로그

@YD_S

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!