SAM 2

[Kotlin] SAM 을 익명 객체 VS 람다로 구현 & fun interface (feat. 우테코)

블랙잭 미션을 진행하면서, 크루원 중 한명이 SAM 인터페이스와 코틀린 fun interface 를 잘 모르겠다고 했다. 나도 코드에 이것을 잘 사용하는 것이 항상 어려웠다. 그래서 다시 공부해서 스터디 시간에 발표하려고 한다. 먼저 익명 객체와 람다부터 알아보자. 익명 객체(Anonymous Object) 코틀린에서 익명 객체(anonymous objects)는 객체 지향 프로그래밍에서 유용한 개념 중 하나이다. 익명 객체는 이름이 없는 클래스 인스턴스를 만들어내는 방법으로, 주로 인터페이스나 추상 클래스의 인스턴스를 만들 때 사용된다. 코틀린에서는 익명 객체를 선언하고 초기화하는 방법이 간단하고 직관적이다. 코틀린 vs 자바 에서 익명 객체 구현 코틀린에서 익명 객체 구현 val thread = Th..

Kotlin 2024.03.22

[Kotlin] 자바 함수형(SAM) 인터페이스 활용

kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. 코틀린으로 개발을 할 때 대다수의 API 는 코틀린이 아닌 자바로 작성된 API 일 것이다. 그런데 코틀린 람다를 자바 API 에 사용해도 아무 문제가 없다. 코틀린에서는 자바 메서드에 람다를 넘길 수 있다. 안드로이드 개발시 많이 사용하는 `Button` 클래스는 `setOnClickListener` 메서드를 사용하여 버튼의 리스너를 설정한다. public class Button { public void setOnClickListener(OnClickListener l) { ... } } 여기서 `OnClickListener` 인터페이스는 `onClick` 이라는 메서드만 선언된 인터페이..

Kotlin 2024.01.16