코틀린 (Kotlin) with() apply() 함수 정리
with 함수 객체 이름을 반복하지 않고 사용하고 싶을 때 with 함수를 사용하면 편리합니다. val stringBuilder = StringBuilder() val text = with ( stringBuilder ) { //수신객체 지정 for (letter in 'A'..'Z') { append(letter) //바로 사용가능, this.append(letter) 와 동일 } toString() //블럭마지막은 리턴값 } 만약 with 블럭 안에서 함수 이름이 같은 바깥 함수를 호출하고 싶을 경우에는 this@OuterClass.함수() 처럼 호출하면 됩니다. val dup = with (stringBuilder) { //바깥 클래스와 이름이 중첩되었고 //바깥 클래스 함수를 호출하고 싶다면 this@outerclass.함수() 한다 this @RamdaActivity .toString() } apply 함수 apply 함수는 with 와 비슷하지만 자기 자신을 리턴합니다. 객체를 생성하면서 속성을 초기화할 때 사용됩니다. 그리고 자바의 빌더 객체와 비슷한 기능을 따라할 수 있습니다. //자신에게 전달된 수신객체를 리턴한다 val text = StringBuilder(). apply { for (letter in 'A'..'Z') { append (letter) //바로 사용가능 } }. toString () //리턴된 StringBuilder의 toString() 을 호출 //StringBuilder 를 편리하게 사용 가능 //buildString 은 표준라이브러리로 StringBuilder와 toString() 을 호출해주는 함수 val text = buildString { for (letter in 'A'..&