Sam3 [코틀린/Kotlin] SAM - Java 표준 API SAM; Single Abstract Method단 하나의 추상 메서드만 가진 인터페이스 또는 추상 클래스Java에서는 주로 함수형 인터페이스(Fuctional Interface)라고 호칭Kotlin에서도 Java 함수형 인터페이스와 함께 사용할 때 SAM 변환을 지원함수형 인터페이스 (java.util.function 패키지)Java 8부터 추가된 함수형 인터페이스Kotlin에서 람다로 사용 가능Function입력값: T반환값: Rval f: (Int) -> String = Function { i -> "값: $i" }println(f(10)) // 값: 10Consumer입력값: T반환값: 없음val printer: Consumer = Consumer { println(it) }printer.acce.. 2025. 9. 12. [코틀린/Kotlin] SAM; Single Abstract Method SAM; Single Abstract Method단 하나의 추상 메서드만 가진 인터페이스 또는 추상 클래스Java에서는 주로 함수형 인터페이스(Fuctional Interface)라고 호칭Kotlin에서도 Java 함수형 인터페이스와 함께 사용할 때 SAM 변환을 지원JAVA@FunctionalInterfaceinterface Runnable { void run();}Runnable 인터페이스: 추상 메서드 run() 하나[Java8 이후 람다 구현 가능]public class Main { public static void main(String[] args) { Runnable task = () -> System.out.println("Hello from Runnable"); .. 2025. 9. 10. [코틀린/Kotlin] 익명 클래스(Anonymous Class) 익명클래스(Anonymous Class)객체를 이름 없이 생성하는 방식인터페이스나 추상 클래스를 일시적으로 구현하거나 확장Java의 익명 내부 클래스와 비슷한 개념개념이름이 없는 클래스일회성으로 필요한 동작을 정의할 때 사용e.g.) 리스너, 콜백, 인터페이스 구현사용 예시버튼 클릭 이벤트 리스너를 설정할 때일회용 객체가 필요할 때콜백 처리를 간단하게 하고 싶을 때예시interface ClickListener { fun onClick()}val listener = object: ClickListener { override fun onClick() { println("Clicked!") }}listener.onClic() // 출력: Clickced!object: ClickListner { … }는 Cl.. 2025. 9. 4. 이전 1 다음