[Kotlin] 함수형 인터페이스 BiFunction

Eunjin·2022년 6월 14일
0
post-thumbnail

BiFunction

자바 1.8부터 사용할 수 있는 함수형 인터페이스(Functional Interface : 람다식 또는 메서드 참조에 대한 할당 대상으로 사용이 가능한 인터페이스)이며, 두개의 인수를 받아 결과를 생성하는 함수를 표현합니다.

이 함수형 인터페이스는 apply(Object, Object) 메소드를 통해 주어진 인수를 적용하고, 결과값을 리턴할 수 있습니다.

코틀린에서 사용법은 아래와 같습니다. 함수 실행 링크

import java.util.function.BiFunction

 
fun main() {
   	val bf = BiFunction { s1: Int, s2: Int ->
        val s3 = s1 + s2
        "${s1}, ${s2}의 합은 $s3"
    }

	val result =  bf.apply(1,3)
    println(result) // 결과 : 1, 3의 합은 4
}

bf는 s1s2, 두 개의 인자를 받고 마지막 줄에 있는 "${s1}, ${s2}의 합은 $s3"을 리턴합니다.

이 인터페이스는 rxjava에서도 같은 이름인데 사용 방법이 비슷해서 알아두면 도움이 됩니다.
저는 rxjava Single.zip에서 두 개의 인자를 받아서 하나의 결과를 리턴하기 위하여 사용했습니다.

이 포스팅은 아래 링크를 참고하였습니다.
https://docs.oracle.com/javase/8/docs/api/java/util/function/BiFunction.html
https://codechacha.com/ko/java8-bifunction-example/

profile
어떤 것이든 그것이 지닌 특별한 속성이나 가치를 간과해서는 안 된다.

0개의 댓글