hyeon.s
개발로그
hyeon.s
전체 방문자
오늘
어제
  • 분류 전체보기 (150)
    • Web 및 인프라 (1)
      • Web (1)
      • Terraform (2)
      • Docker (1)
    • Android (1)
      • 공부 (28)
      • 트러블슈팅 (12)
      • 프로젝트 개발 (10)
      • Compose (2)
      • 우테코 프리코스 (0)
    • Server (5)
      • 공부 (1)
      • Spring (4)
    • 알고리즘 (68)
      • 문제풀이 (C++,Kotlin) (54)
      • 공부 (13)
    • 디자인 (3)
      • UI (3)
    • Language (5)
      • Kotlin (5)
      • JAVA (0)
    • IT 동아리 (8)
      • UMC 3기 (Android) (7)
      • Sopt 32기 (Android) (1)

Github

글쓰기 / 관리자
hELLO · Designed By 정상우.
hyeon.s
Language/Kotlin

[Kotlin 문법] 스코프함수

[Kotlin 문법] 스코프함수
Language/Kotlin

[Kotlin 문법] 스코프함수

2023. 1. 6. 00:50
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
'Language/Kotlin' 카테고리의 다른 글
  • [Kotlin] isNullOrBlank vs isNullOrEmpty 헷갈리지말자
  • [Kotlin] 코틀린의 sealed class 란?
  • [Kotlin 문법] 오버라이딩과 추상화
  • [Kotlin] 클래스와 상속
hyeon.s
hyeon.s
이유있는 코드를 짜자

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.