

with와 also의 차이
- 객체 전달
- with 수신 객체 : 매개 변수 T (명시적으로 제공된 수신 객체)
- also 수신 객체 : T의 확장함수 (암시적으로 제공된 수신 객체)
- 수신 객체 → 수신 객체 람다에 어떠한 형식?
- with 형식 : 수신 객체 지정 람다 → T의 확장함수 형태
- also 형식 : 수신 객체 지정 람다 → 매개변수 T로 전달
- 최종 반환 값
- with 반환 : 람다 실행 결과
- also 반환 : 전달된 수신객체
inline fun <T> T.also(block: (T) -> Unit): T {
block(this)
return this
}
→ T의 확장함수 형태, T를 매개변수로 가지는 함수를 매개변수로 받아서 T를 반환
- 수신 객체 입력 : 리시버 (명시적)
- 수신 객체 전달 : 파라미터 (암시적)