Java / Spring

[Lambda] 간단한 apply() 메서드 사용법 본문

Java

[Lambda] 간단한 apply() 메서드 사용법

밍구밍구밍 2024. 8. 17. 16:19

Function 인터페이스의 apply 메서드

  • apply() 메서드는 제네릭 타입인 한 개의 매개변수를 전달받아 특정 작업을 수행 후 값을 반환하는 메서드이다
  • 내부에 있는 메서드의 계산을 실행하기 위해 외부에서 값을 받아 메서드를 실행하는 parameter 와 비슷하다

 

먼저 세 개의 Function 타입의 객체를 생성하여 특정 작업을 수행 후 값을 반환하는 람다 표현식을 할당한다.

세 개의 함수형 인터페이스에 매개변수를 전달 받기 위해 apply() 메서드를 사용하여 매개변수를 적용 후 계산식을 진행

public class ApplyMethod {

    public static void main(String[] args) {

        // 함수형 인터페이스로 세개의 계산식을 정의(Add, Minus, Multiple)
        Function<Integer, String> functionAdd =
                (num) -> Integer.toString(num + 100);

        Function<Integer, String> functionMinus =
                (num) -> Integer.toString(num - 100);

        Function<Integer, String> functionMultiple =
                (num) -> Integer.toString(num * 100);

        // apply() 활용 : 아래와 같이 함수형 인터페이스로 선언한 메서드에 매개변수를 전달받아 계산
        // 메서드에 입력되는 지역변수(parameter) 와 비슷하다(?)
        System.out.println("5 + 100 = " + functionAdd.apply(5));
        System.out.println("5 - 100 = " + functionMinus.apply(5));
        System.out.println("5 * 100 = " + functionMultiple.apply(5));
    }
}