범위지정

    [코틀린] apply, with, let, also, run의 용도

    코틀린에는 범위 지정 함수인 apply, with, let, also, run 이 있다. 람다식이 제공된 객체에서 범위 지정 함수를 호출하면 임시 범위가 형성되고, 이 범위 내에선 이름 없이 객체에 접근할 수 있다. 하지만 하나의 코드 블럭에서 여러 범위 지정 함수가 중첩되면 가독성이 떨어지고 파악이 힘들어진다. 단, 중첩이 아닌 호출 체인으로 결합하면 코드의 가독성이 향상된다. apply 수신 객체의 함수를 사용하지 않고, 수신 객체 자신만 다시 반환하려는 경우. 대표적인 경우는 객체의 초기화이다. apply 사용 val user = User().apply{ name = "mj" gender = "male" } apply 미사용 val user = User() user.name = "mj" user.g..