반응형

고차함수
고차 함수(Higher-Order Function)는 함수를 인자로 받거나, 함수를 반환하는 함수를 의미한다
쉽게 말해서 기본적인 함수는 int, float, 객체 ... 간단한 자료형을 넘기지만, 함수자체를 넘기는 함수를 고차함수라고 한다.
즉, 함수 자체를 값처럼 전달하거나 반환할 수 있는 함수가 고차 함수다. 기본적인 함수는 int, float, 객체 등 단순 자료형을 인자로 받지만, 고차 함수는 함수 자체를 인자로 받거나 결과로 반환한다
import java.util.function.Function;
public class HighOrderFunctionExample {
// 함수를 인자로 받는 고차 함수
public static int compute(Function<Integer, Integer> operator, int x) {
return operator.apply(x);
}
public static void main(String[] args) {
int result = compute(a -> a * a, 5); // 5의 제곱
System.out.println(result); // 출력: 25
}
}
람다
람다 사용법을 간단하게 정리해보겠다.
1. 가장 기본적인 구조이다.
(매개변수) -> { 실행문 }
ex) (int a) -> {return a;}
2. 여기서 이제 생략이 들어갈 수 있는 조건이있다.
2.1 입력 자료형 생략
ex) (a) -> {return a};
이 이유는 이미 선언되어있는 함수형인터페이스에 지정되어있기 때문이다.
2.2 입력 변수 생략
ex) a -> {return a};
매개변수가 하나일때는 생략이 가능하다.
2.3 {} 생략
ex) () -> a;
마찬가지로 {} 생략가능하다

반응형
'JAVA' 카테고리의 다른 글
태태코딩 - 람다(김영한 실전자바 고급 3편) (1) | 2025.04.27 |
---|---|
태태개발일지 - 고급 java (김영한) 컬랙션 동시성 (1) | 2025.03.19 |
태태개발일지 - 자바 고급 (김영한) CAS 연산 (1) | 2025.03.17 |
태태개발일지 - java 고급 멀티스레드(김영한) (1) | 2025.03.08 |
태태개발일지 - java 고급 멀티스레드 (1) | 2025.03.06 |