함수적인터페이스

매개변수와 boolean 리턴값이 있는 testXXX() 메소드를 가지고 있다. 매개값을 조사해서 true 또는 false를 리턴하는 역할을 한다. public class PredicateExample { private static List numList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); public static int count(IntPredicate predicate){ int count = 0; for(int num : numList){ if(predicate.test(num)){ count ++; } } return count; } public static void main(String[] args) { int evenNumCount = coun..
자바에서 한 개의 추상 메소드를 가지는 인터페이스들은 모두 람다식을 이용할 수 있다. Runnable 인터페이스도 마찬가지이다. Runnable runnable = () -> { ... }; Thread thread = new Thread(() -> { ... }); // Thread 생성자 호출 자바8부터 빈번하게 사용되는 함수적 인터페이스(functional Interface)는 java.util.function 표준 API패키지로 제공한다. java.util.function이 제공하는 functional Interface의 목적은 메소드 또는 생성자의 매개 타입으로 사용되어 람다식에 대입될 수 있다. 함수적 인터페이스는 크게 Consumer, Supplier, Function, Operator, P..
[람다식] 타겟 타입과 함수적 인터페이스 람다식의 형태는 매개변수를 가진 코드블록이어서 메소드를 선언하는 것처럼 보이지만 실제로는 이 메소드를 가지고 있는 객체를 생성해 낸다. (자바는 메소드를 단독으로 선언할 수 없기 때문) 인터페이스 변수 = 람다식;람다식은 인터페이스의 익명 구현 객체를 생성한다고 보면 된다. (클래스를 생성하고 객체화 함) 인터페이스의 종류에 따라 작성 방법이 달라지기 때문에 람다식이 대입될 인터페이스를 람다식의 타겟 타입(target type)이라고 한다. 함수적 인터페이스(@FunctionallInterface) 람다식이 하나의 메소드를 정의하기 때문에 두 개 이상의 추상 메소드가 선언된 인터페이스는 람다식을 이용해 객체를 생성할 수 없다. 하나의 추상 메소드가 선언된 인터페이..
깡냉쓰
'함수적인터페이스' 태그의 글 목록