본문

자바 함수형 인터페이스

도입

이번 포스팅에서는 자바의 함수형 인터페이스에 대해 정리할 예정이다.


개념 및 실습

Runnable: Thead에 의해 실행될 목적의 인터페이스

1
2
3
4
5
6
7
8
val runnable = Runnable {
    updateView()
}
runnable.run()
 
private fun updateView(result: String= null) {
    // 특정 로직
}
cs

Consumer: 특정 Type T를 받아 소비하고 아무것도 리턴하지 않는 인퍼페이스

1
2
3
4
5
6
7
8
val consumer = Consumer<String> {
    updateView(it)
}
consumer.accept("Hello")
 
private fun updateView(result: String= null) {
    // 특정 로직
}
cs

Function: 특정 Type T를 받아 R을 리턴하는 인터페이스

1
2
3
4
5
6
7
val function = java.util.function.Function<String, Int> {
    when (it) {
        "Hello""World" -> 1
        else -> 0
    }
}
function.apply("Hello")
cs

Supplier: 특정 Type T를 리턴하는 인터페이스

1
2
3
4
5
val supplyTarget = "hello"
val supplier = Supplier {
    supplyTarget.plus("world")
}
supplier.get()
cs

Predicate: 특정 Type T를 받아 boolean을 리턴하는 인터페이스

1
2
3
4
5
6
7
val predicate = Predicate<String> {
    when (it) {
        "Hello""World" -> true
            else -> false
    }
}
predicate.test("Hello")
cs

 

 

#함수형 인터페이스 

공유

댓글