[java] 람다 표현식을 사용하여 재귀호출은 어떻게 할 수 있나요?
다음은 람다 표현식을 사용하여 팩토리얼을 계산하는 예제입니다.
import java.util.function.*;
public class Main {
public static void main(String[] args) {
IntUnaryOperator factorial = n -> n == 0 ? 1 : n * factorial.applyAsInt(n - 1);
System.out.println(factorial.applyAsInt(5)); // 120
}
}
이 예제에서는 IntUnaryOperator
를 사용하여 factorial
이라는 이름의 람다 표현식을 정의합니다. 이 람다 표현식은 n
이 0이면 1을 반환하고, 그렇지 않으면 factorial.applyAsInt(n - 1)
을 호출하여 재귀적으로 팩토리얼을 계산합니다.
이처럼 람다 표현식을 사용하여 재귀호출을 구현할 때는 보조함수와 함수형 인터페이스를 활용하여 재귀적인 동작을 구현할 수 있습니다.