[JAVA] :: (더블콜론)

강민경·2024년 11월 11일

의미

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);




사용처

  • 사용하는 람다식이 기존에 있는 인스턴스의 메소드와 동일하면 메소드 레퍼런스로 대체 가능하다.
  • 스태틱 메소드, 인스턴스의 메소드의 메소드 레퍼런스로 사용 가능하다.
profile
간단한 기록

0개의 댓글