람다식이 하나의 메서드만을 호출하는 경우 메서드 참조라는 방법으로 람다식을 간략히 할 수 있다.
https://standout.tistory.com/622
메서드 참조에는 다음과 같은 유형이 있다
1. 정적 메서드 참조: `클래스명::메서드명`
2. 인스턴스 메서드 참조: `객체명::메서드명`
3. 생성자 참조: `클래스명::new`
쉬운 예시로 이해해보자.
람다식 사용
import java.util.function.Function;
public class Main {
public static void main(String[] args) {
// 람다식을 사용하여 제곱 함수를 정의
Function<Integer, Integer> square = x -> x * x;
// 제곱 함수를 사용하여 값을 계산
int result = square.apply(5);
System.out.println("Result: " + result); // Output: 25
}
}
메서드 참조 사용
import java.util.function.Function;
public class Main {
// 정적 메서드: 제곱 값을 반환
static int square(int x) {
return x * x;
}
public static void main(String[] args) {
// 메서드 참조를 사용하여 제곱 함수를 정의
Function<Integer, Integer> square = Main::square;
// 제곱 함수를 사용하여 값을 계산
int result = square.apply(5);
System.out.println("Result: " + result); // Output: 25
}
}
두 가지 방법 모두 같은 기능을 수행하지만,
메서드 참조를 사용하면 더 간결하고 읽기 쉬운 코드를 작성할 수 있다.
기존에 정의된 메서드를 직접 참조하여 코드를 더 간단하게 만들 수 있다.