728x90
반응형
JAva 에서 중요한 기능 중 하나 람다는 어떻게 쓰는 것일까요?
람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어입니다.
현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법입니다.
익명함수?
익명함수란 말그대로 함수의 이름이 없는 함수입니다. 익명함수들은 공통으로 일급객체(First Class citizen)라는 특징을 가지고 있습니다.
이 일급 객체란 일반적으로 다를 객체들에 적용 가능한 연산을 모두 지원하는 개체를 가르킵니다. 함수를 값으로 사용 할 수도 있으며 파라메터로 전달 및 변수에 대입 하기와 같은 연산들이 가능합니다.
(parameters) -> expression
- 리스트 필터링 예제
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
names.stream()
.filter(name -> name.startsWith("A"))
.forEach(System.out::println); // "Alice" 출력
- 간단한 수학 연산 예제
MathOperation addition = (a, b) -> a + b;
System.out.println("Addition: " + addition.operate(5, 3)); // 8 출력
Functional Interface
람다 함수는 Functional Interface와 함께 사용됩니다. Functional Interface는 단 하나의 추상 메서드만 가진 인터페이스로, @FunctionalInterface 어노테이션을 붙여 명시할 수 있습니다. 예를 들어:
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
람다 함수를 통해 Java에서 더 간결하고 효율적인 코드를 작성할 수 있게 되었으며, 특히 컬렉션 처리 및 스트림 API와 함께 자주 사용됩니다.
728x90
반응형
'이유's Programming > Java' 카테고리의 다른 글
Two Sum - LeetCode (0) | 2021.10.12 |
---|---|
[ 자료구조 ] LinkedList 공부 (0) | 2020.08.31 |
[ 알고리즘 ] 선택 정렬 / 빅오 표기법 (0) | 2020.08.18 |
Java Interface (0) | 2020.08.18 |
Java input vs output System (0) | 2020.07.20 |