본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

메서드 참조, 람다식을 더욱 간략히

 

람다식이 하나의 메서드만을 호출하는 경우 메서드 참조라는 방법으로 람다식을 간략히 할 수 있다.

https://standout.tistory.com/622

 

람다함수란?

람다 함수는 함수를 간결하게 표현하는 방법 // 일반 함수 예시 public int add(int a, int b) { return a + b; } // 람다 함수 예시 (IntBinaryOperator) (a, b) -> a + b;

standout.tistory.com

 

 

 

메서드 참조에는 다음과 같은 유형이 있다
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
    }
}

 

 

 

두 가지 방법 모두 같은 기능을 수행하지만, 
메서드 참조를 사용하면 더 간결하고 읽기 쉬운 코드를 작성할 수 있다. 
기존에 정의된 메서드를 직접 참조하여 코드를 더 간단하게 만들 수 있다.