인프런 커뮤니티 질문&답변

목동 개발자님의 프로필 이미지
목동 개발자

작성한 질문수

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

17강. 코틀린에서 람다를 다루는 방법

Kotlin 에서는 함수형 인터페이스가 필요 없어진걸까요?

해결된 질문

작성

·

476

·

수정됨

2

함수가 1급객체가 되어버려서 functional interface가 필요없어진 것처럼 보여요

답변 1

2

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요 목동 개발자님!! 크으~~~ 정말 좋은 질문이십니다~~ 😊😊

 

결론부터 말씀드리면, Kotlin에도 "함수형 인터페이스"라는 개념이 남아 있습니다.

함수형 인터페이스를 사용하려면

interface Preciate {
  fun filter(str: String): Boolean
}

와 같은 인터페이스에

fun interface Preciate {
  fun filter(str: String): Boolean
}

fun 이라는 키워드를 붙여주면 되요!!

Java에서는 @FunctionalInterface 어노테이션을 달아주었죠!

 

다만, 함수 자체가 1급 객체다보니 굳이 이렇게 인터페이스를 만들지 않고, 그냥 함수를 받도록 처리하는 경우가 훨씬 많았습니다!

 

한 줄 요약 드려보자면.. 문법적으로는 존재하나 그냥 함수 타입을 받게끔 하는 것이 편하다! 라고 정리드릴 수 있을 것 같습니다.

좋은 질문 주셔서 감사합니다~ 오늘도 행복한 하루 되세요!! 🙏🙏

목동 개발자님의 프로필 이미지
목동 개발자

작성한 질문수

질문하기