개발
Kotlin also 한눈에 이해하기
스택큐힙리스트
2025. 7. 29. 09:06
반응형
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.”
(무언가 ‘추가로’ 하고 싶지만 결과값은 그대로 받고 싶을 때)
반응형