티스토리 뷰

728x90

 


스코프 함수

• 객체 생성 시 사용하는 함수

• 하나의 스코프를 만들어 그 안의 코드들을 실행한다.

     - 이 스코프 안에서는 객체를 이름없이 바로 접근할 수 있다.

• 생성한 객체에 대해 어떠한 동작을 해야할 때 간결하게 사용할 수 있다.

     - 스코프 함수를 쓰지 않으면 간단한 동작을 할 때도 변수를 만들고, 변수의 이름을 반복해서 사용해야하는 번거로움이 있다.

// 스코프 함수 사용하지 않았을 때
val alice = Person("Alice", 20, "Amsterdam")
println(alice)
alice.moveTo("London")
alice.incrementAge()
println(alice)

// 스코프 함수 사용했을 때
Person("Alice", 20, "Amsterdam").let {
    println(it)
    it.moveTo("London")
    it.incrementAge()
    println(it)
}

• 스코프 함수의 종류에는 apply, also, run, with, let이 있고, 각 함수마다 용도가 조금씩 다르다.

     - 스코프 함수는 객체를 어떤 것으로 참조하는 지와, 반환 값이 무엇인지에 따라 나눌 수 있다.

스코프 함수 종류 객체 참조
apply, run, with this (생략 가능)
also, let it
스코프 함수 종류 반환 값
apply, also 객체
run, with, let 람다식 결과

     - 스코프 함수의 각 용도는 잘 정리가 되어 있는 글을 발견하여 참조합니다.

http://batmask.net/index.php/2021/12/10/286/

 

Kotlin: 스코프 함수들(Scope functions) let, run, with, apply, also

작년에 작성했던 글인데, 제대로 이해하지 못하고 썻던 글이라, 다시봐도 무슨말인지 모르겠더라. 이제 좀 감이와서 다시 정리해 업데이트 한다. Kotlin만의 특징중 하나로 scope functions 라고 불리

batmask.net

 

 

 

 

 

 

 

 

이 글은

패스트 캠퍼스 Android 앱 개발의 정석 with Kotlin 올인원 패키지 Online

강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.

 


728x90
댓글
공지사항