멋사 부트캠프/Java 프로그래밍

13. Constructor (생성자 참조 구문)

cTosMaster 2025. 3. 14. 17:49

1. Constructor

    더 간결하게 객체를 생성하는 방법

    "주어진 생성자를 호출하는 람다식" 을 간결하게 표현한 거야. (기능은 같음)

 

💡 일반적인 람다 표현식

// 일반 람다식
Supplier<MyConstruct> supplier = () -> new MyConstruct();

// 생성자 참조 구문 
// 초기화한 빈 껍데기 객체를 생성한다. 
Supplier<MyConstruct> supplier = MyConstruct::new;

 

2. 사용 예제

import java.util.function.IntFunction;

public class ArrayConstructorReference {
    public static void main(String[] args) {
        // 람다식: (size) -> new int[size]
        IntFunction<int[]> arrayLambda = size -> new int[size];

        // 생성자 참조 방식
        IntFunction<int[]> arrayConstructorRef = int[]::new;

        // 배열 생성
        int[] arr1 = arrayLambda.apply(5);
        int[] arr2 = arrayConstructorRef.apply(10);

        System.out.println("arr1 크기: " + arr1.length); // 5
        System.out.println("arr2 크기: " + arr2.length); // 10
    }
}