코틀린의 표준 라이브러리 with 와 apply
- 이 두 함수는 수식객체 지정 람다라고 불리며, 매우 유용하게 쓰인다.
with
- 어떤 객체의 이름을 반복하지 않고, 다양한 연산을 수행가능하게 해준다.
- 위 예제처럼
with()
안에 수신객체를 지정해서 그 객체를 블록안에서 this
혹은 수신객체의 함수를 바로 호출할 수 있다.(this
를 붙이지 않아도 된다.)
- 또한 위 예제처럼
with
를 식으로 사용 가능하다.
apply
apply
는 with
와 같지만 차이점은 항상 자신에게 전달된 객체를 리턴한다.
- 위 예제처럼 전달된 객체를 리턴하여
StringBuilder.toString()
해서 결과를 얻을 수 있다.