728x90
반응형
스코프함수
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을 사용해야한다.
위같은 스코프 함수는 코드 가독성을 향상시키므로 적절할 때 사용하면 좋다.
728x90
반응형
'Language > Kotlin' 카테고리의 다른 글
[Kotlin] isNullOrBlank vs isNullOrEmpty 헷갈리지말자 (0) | 2023.08.30 |
---|---|
[Kotlin] 코틀린의 sealed class 란? (0) | 2023.08.15 |
[Kotlin 문법] 오버라이딩과 추상화 (0) | 2023.01.06 |
[Kotlin] 클래스와 상속 (0) | 2023.01.06 |