mygomii

[Kotlin] 5.1 람다식과 멤버 참조 본문

Kotlin

[Kotlin] 5.1 람다식과 멤버 참조

mygomii 2025. 4. 10. 09:00
반응형
  • 자바 프로그래머들은 람다의 도입을 오랫동안 기다려왔고 자바8의 람다는 . 그기다림의 끝
  • 람다가 왜 중요할까?

5.1.1 람다 소개: 코드 블록을 값으로 다루기

  • 람다는 코드 블록을 변수에 담거나 함수 인자로 넘길 수 있음
  • 함수형 프로그래밍의 핵심 개념 중 하나
val greet = { println("Hello!") }
greet()  // Hello! 출력

//함수처럼 변수 greet를 호출할 수 있음.

5.1.2 람다와 컬렉션

  • 컬렉션 함수(filter, map, forEach 등)와 람다를 조합하면 강력해짐
  • 반복문 없이 짧고 읽기 쉬운 코드를 만들 수 있음

5.1.3 람다식의 문법

  • { 매개변수 -> 본문 } 형태
  • 매개변수가 하나일 땐 it 사용 가능
  • 타입 생략 가능(컴파일러가 추론)
val square: (Int) -> Int = { it * it }
println(square(4))  // 16

5.1.4 현재 영역에 있는 변수 접근

  • 람다는 바깥 스코프에 있는 변수를 자유롭게 참조할 수 있음 (→ 클로저)
  • 값이 변경될 수도 있음
var counter = 0
val increment = { counter++ }

5.1.5 멤버 참조

  • 클래스명::함수명, 객체명::함수명 형태로 사용
  • 람다를 더 짧고 깔끔하게 표현할 수 있음

5.1.6 값과 엮인 호출 가능

  • 객체에 묶인(바인딩된) 멤버 참조를 만들 수 있음
  • 이후에 이 참조를 호출할 때마다 묶인 값을 기준으로 동작함
val number = 42
val isEqualTo42 = number::equals

println(isEqualTo42(42))  // true
println(isEqualTo42(100)) // false
반응형