본문 바로가기
Language/Kotlin

코틀린(Kotlin) 범위 지정 함수(Scope Function) 정리

by pan5158 2022. 5. 14.

범위 지정 함수

코틀린은 표준 라이브러리는 Scope Function 지원하고 있습니다.  객체 컨텍스트 내에서 코드 블럭에 여러 함수를 포함시켜 실행합니다. 제공된 람다식을 사용하여 객체에서 이런함수를 호출하면 임시범위가 형성됩니다. 이 범위에선 이름없이 객체이 접근할수 있습니다. 이런 함수를 범위함수(Scope Function)라고 하며 let,run,with,apply,also 제공됩니다.

이제 범위함수 사용법에 대해 하나하나씩 알아보도록 하겠습니다.

 

Context Object :  this 또는  it

Scope Function 의 람다식 내부에선  실체 객체의 이름 대신  this 또는 it로  사용해서 참조할수 있습니다.

1. let() 함수란? 

 let 함수는 let 함수를 호출하는 수신자의 객체를 블록의 인자를 넘기고 결과값을 반환하는 함수입니다.

let() 함수의 사용법 대해서 알아보도록 하겠습니다. 

 let() 함수 사용법

2). 코드 블록에 포함된 인수가 람다대신 메소드 it 대신 ::를 참조 할 수 있습니다.

ㄴㅁㄴ

2. with() 함수?

 with 함수는 비 확장함수입니다. context 객체를 인자로 직접 전달 받고, 람다 내부에서 이를 수신자로 사용합니다.

with() 함수 사용법

 

3. run() 함수?

어떤 값을 계산할 필요가 있거나, 여러개의 지역 변수의 범위를 제한하기 위해 사용하는 함수이다.

 run() 함수 사용법

 

4. also() 함수?

수신 객체 람다가 전달된 수신 객체를 전혀 사용 하지 않거나 수신 객체의 속성을 변경하지 않고 사용하는 경우 also 를 사용한다.

 

also() 함수 사용법

 

5. apply() 함수?

1). 컨텍스트 객체 는 수신기(this)로 사용할 수 있습니다. 반환 값 은 개체 자체입니다.

2). apply값을 반환하지 않고 주로 수신자 개체의 구성원에서 작동하는 코드 블록에 사용 합니다. 에 대한 일반적인 우 apply는 개체 구성입니다. 이러한 호출은 " 객체에 다음 할당을 적용합니다. "

 

apply() 함수 사용법

 

위와 같이 범위지정함수(Scope Function) let,with,run,also,apply 다섯가지 종류 사용법에 대해서 알아봤습니다. 

감사합니다. ^^

'Language > Kotlin' 카테고리의 다른 글

제네릭(Generic)  (0) 2022.05.18
Kotlin - 확장함수(Extension Functions)  (0) 2022.05.15
Inline ,Infix 함수  (0) 2022.05.13
Kotlin Function  (0) 2022.05.12
Sequence  (0) 2022.05.06