본문 바로가기

[Kotlin 문법] 스코프함수

@hyeon.s2023. 1. 6. 00:50

스코프함수

kotlin내에는 여러 스코프함수가 존재하는데 각 스코프함수가 어떤 경우에 사용해야하는지 헷갈려서 정리하기위해 관련 포스팅을 해보고자 한다.

 

1. 람다함수도 여러줄 가능하다.

2. 파라미터가 없으면 중괄호 안 구문만 써주면된다.

3. 파라미터가 1개라면 it을 대체해서 사용가능하다.

스코프함수의 종류

apply, run, with, also, let이 존재한다.

차근차근 어떨 때 사용할 수 있는지 알아보자

1. apply

인스턴스 생성 후 변수에 담기 전 초기화 과정 수행할 때 사용한다.

리턴으로 자신의 인스턴스를 리턴한다.

2. run

이미 인스턴스가 만들어진 후 인스턴스의 함수나 속성을 scope내에서 사용해야할 때 유용하다

3. with

run과 동일하다. 하지만 참조 연산자를 parameter로 받는다는 차이가 존재한다.

예로 run은 a.run{ ... } 과같이 사용되지만 with은 with(a) { ... } 로 사용된다.

4. also

처리가 끝나면 인스턴스를 반환하는 함수로 apply와 비슷하다.

5. let

처리가 끝나면 최종값을 반환하는 run과 비슷한 함수이다.

=> also와 let은 scope 밖에 중복되는 변수명이 존재할 시 it을 사용하지 않으면 main 내 중복된 변수가 실행된다.

따라서 중복된 변수명이 바깥에서 사용될 시 it을 사용해야한다.

 

위같은 스코프 함수는 코드 가독성을 향상시키므로 적절할 때 사용하면 좋다.

 

hyeon.s
@hyeon.s :: 개발로그
목차