자바 람다
2022. 10. 31. 01:17ㆍJava
람다는 익명 함수를 만드는 것이라고 볼 수 있다. 익명 함수는 이름, 리턴 타입이 없다. 매개변수의 타입도 생략하거나 명시하거나 고를 수 있다.
자바는 매개변수와 리턴 자료형까지 추론할 수 있는데 아직 어떻게 추론이 구현되어 있는지는 알 수 없다..
정 불안하다면 매개변수에도 자료형을 써서 표시해주자..
(매개변수)(a,b) -> 함수 body; 의 형식으로 써줄 수 있다.
람다를 이용하려면 함수형 인터페이스를 이용해서 인터페이스를 객체화 해놓고 람다식으로 간단히 표현한 뒤에 이용해줄 수 있다.
함수형 인터페이스는 사용자가 직접 만들어줄 수도 있지만 기존에 만들어놓았던 여러 개의 함수형 인터페이스들을 쓸 수 도 있다. 해당 값들은 import java.util.function.* 에서 볼 수 있다.
함수형 인터페이스Predicate, Comparable, Consumer, 등이 있다 function 패키지를 살펴보면 더 많은 인터페이스들이 있다.
//example Predicate 인터페이스에는 test 추상 메서드가 존재한다. 꼭 오버라이딩 이용
Predicate<T> t = new Predicate<T>{
@override
public boolean test(T t) return false;
};
/*람다식으로 오버라이딩 boolean 리턴 타입
해당 인터페이스는 객체화된 것이고 해당 객체를 다른 메서드의 매개변수로도 쓸 수 있다.*/
t = Employee -> Employee.getSalary() == 0;
'Java' 카테고리의 다른 글
java.util.ConcurrentModificationException 에러 (0) | 2022.11.09 |
---|---|
자바의 함수형 인터페이스 (0) | 2022.10.29 |
Java 상속 (0) | 2022.08.20 |