포획 2

[Kotlin] Lambda 식(람다 식) & 람다의 캡처 & Member Reference(멤버 참조)

Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. lambda expression(람다 식) 또는 lambda(람다)는 다른 함수에 넘길 수 있는 작은 코드 조각이다. 코틀린 표준 라이브러리는 람다를 아주 많이 사용하며, 특히 컬렉션 처리에서 많이 사용한다. 람다 소개 일련의 동작을 변수에 저장하거나 다른 함수에 넘겨야 하는 경우가 자주 있다. 자바에서는 익명 내부 클래스를 통해 이를 구현했다. 하지만, 이는 꽤 번거롭다. 함수형 프로그래밍에서는 함수를 값처럼 다룬다. 그래서 함수를 직접 다른 함수에 전달할 수 있다. 자바 코드 - 버튼에 액션을 추가하는 리스너(익명 내부 클래스로 구현) public void setListener(Butt..

Kotlin 2024.01.11

[Kotlin] enum & when & smart cast(스마트 캐스트)

Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. enum 클래스 `enum` 은 soft keyword 라고 한다. `class` 앞에 붙을 때는 특별한 의미를 가지지만, 그렇지 않을 경우에는 일반 이름으로 사용이 가능하다. 반면에 `class` 는 그냥 keyword 이다. 그래서 클래스를 표현하는 변수 등을 정의할 때는 이름을 `class` 로 하지 못한다. 보통 `clazz` 또는 `mClass` 라고 정의한다. enum class Color( val r: Int, val g: Int, val b: Int // 상수의 프로퍼티를 정의 ) { RED(255, 0, 0), // 각 상수를 생성할 때 그에 대한 프로퍼티 값을 지정 ORA..

Kotlin 2023.12.27