java8 버전에서 등장한 ::(더블콜론)은
1. 람다 표현식이 단 하나의 메서드만을 호출하는 경우
2. 람다 표현식이 단순히 객체를 생성하고 반환하는 경우
불필요한 매개변수를 제거하여 간단하게 표현할 수 있도록 도와주는 역할을 합니다.
클래스이름::메소드이름
참조변수이름::메소드이름
Object::new
더블콜론은 람다의 간결한 버전 중 하나이다
List<String> list = List.of("Peter", "Thomas", "Edvard", "Gerhard");
// print using lambda
list.forEach(item -> System.out.println(item));
자바의 더블콜론은 위 람다식을 아래와 같이 더욱 간결하게 해준다.
즉, 람다식이 이미 존재하는 메소드와 동일한 기능이면 메소드 레퍼런스로 람다식을 대체할 수 있다.
// print using :: (method reference operator)
list.forEach(System.out::println);