Scope Function 이란??
- Kotlin 만의 특징!!!
- 객체 생성시 사용하는 inline 함수들.
- 자체적인 scope를 갖는 코드블럭을 사용함!!
- 5가지 존재
- let / run / with / apply / also
- 사실 5개가 큰차이 있는것 아니지만, 상황마다 편한 scope function이 존재함!!
with)
inline fun <T, R> with(receiver: T, block: T.() -> R): R
- 이미 생성된 객체에 여러작업을 일괄적으로 해야할때 사용
- 인자없음. this로 참조
- 람다함수 리턴값 있음. 마지막줄이 리턴됨
- 앞에 긴 dot donation 을 with의 인자로 묶어, 코드를 줄일수있다
- with 인자안에 객체로 명시해준뒤, scope 안에 객체생략한 부분 코드 작성하면 됨!