Java
[Java] 람다식 (2)
sayho
2022. 3. 12. 23:06
함수적 인터페이스 : @FunctionalInterface
모든 인터페이스를 람다식으로 사용할 수 없다. 람다식은 하나의 메서드를 정의하기 때문에 인터페이스에
하나의 함수만 선언되어 있어야한다. 두개 이상의 추상 메서드가 선언된 경우 해당 인터페이스는 람다식을
이용하여 구현 객체를 생성할 수 없다. 하나의 추상메서드가 있는 인터페이스 형태를 함수적 인터페이스라고
한다. 그리고 @FunctionalInterface 애노테이션을 선언해주면 해당 인터페이스는 함수적 인터페이스라는 의미다.
함수적 인터페이스 : Consumer
리턴 값이 없는 accept() 를 가지고 있고 매개 값을 소비하기 위한 용도이다.
Consumer<String> consumer = t => System.out.println("T의 결과 : " + t);
consumer.accept("hello");
>> 출력 T의 결과 : hello
IntConsumer intConsumer = t => System.out.println("T에 10을 더하면?" + (t+10));
consumer.accept(1);
>> 출력 T의 결과 : 11
함수적 인터페이스 : Supplier
매개 값을 리턴 타입으로 변환하는 인터페이스다.
IntSupplier supply = () -> {
int num = 10*10*3.14;
return num
};
int a = supply.getAsInt();
System.out.println(a);
>> 출력 314
함수적 인터페이스 : Function
매개 값과 리턴 값을 가진 인터페이스다.