반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 데이터분석
- 자료구조
- 사이버보안
- 딥러닝
- 인공지능
- 알고리즘
- 데이터구조
- 컴퓨터비전
- 네트워크
- 머신러닝
- 프로그래밍
- 버전관리
- 빅데이터
- 네트워크보안
- 디자인패턴
- 클라우드컴퓨팅
- 웹개발
- 자바스크립트
- 소프트웨어
- 프로그래밍언어
- 소프트웨어공학
- 컴퓨터과학
- 파이썬
- I'm Sorry
- springboot
- 보안
- Yes
- 데이터베이스
- 데이터과학
- 컴퓨터공학
Archives
- Today
- Total
스택큐힙리스트
Kotlin also 한눈에 이해하기 본문
반응형
also는 스코프 함수(scope function) 중 하나예요.
“지금 만든(혹은 불러온) 객체를 그대로 반환하되, 중간에 ‘추가 작업’을 하고 싶을 때” 쓰면 딱 맞습니다.
val user = User("철수", 29).also {
println("✅ 새 사용자 생성: ${it.name}")
}
// 여기서 user 는 그대로 User("철수", 29)
언제 쓰면 좋은가?
- 객체 생성 직후 검증·로깅|
val config = loadConfig().also { check(it.isValid()) }
- 체이닝 사이에 디버깅
val result = list
.map { it * 2 }
.also { println("중간 결과: $it") }
.filter { it > 10 }
apply·let과의 차이, 빠른 비교
- apply : 블록 안에서 this 로 속성 설정 → 객체 초기화에 좋음. 반환값은 리시버.
- let : 블록 안에서 it 사용, 람다 결과를 반환 → 널 처리, 변환에 유리.
- also: 블록 안에서 it 사용, 리시버를 반환 → 사이드 이펙트 전용.
기억법: “do this also, but give me the same thing back.”
(무언가 ‘추가로’ 하고 싶지만 결과값은 그대로 받고 싶을 때)
반응형
'개발' 카테고리의 다른 글
Memento 패턴: “되돌리기(Undo)”를 코드로 구현하는 가장 깔끔한 방법 (0) | 2025.07.30 |
---|---|
MediatorLiveData 제대로 쓰는 7가지 실전 팁 (2) | 2025.07.30 |
Mediator 패턴: 복잡한 객체 의존을 한 방에 정리하기 (2) | 2025.07.29 |
Kotlin Sequence 내부 구현으로 배우는 Lazy Iterator 원리 (1) | 2025.07.29 |
Iterator 패턴 – 컬렉션 속을 우아하게 누비는 비결 (3) | 2025.07.29 |
Comments