• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

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

23.08.02 10:30 작성 23.08.02 10:34 수정 조회수 268

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

 

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

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