개발자 랩실/스프링&스프링부트

[Java] :: 더블 콜론 사용 이유

sina.dev 2022. 2. 8. 20:05
728x90

목차

  1. 더블 콜론이란
  2. 더블 콜론 사용 예제

 

1. 더블 콜론이란

  • 메소드 레퍼런스(Method Reference)라고 Lamda 표현식을 더 간단하게 표현하는 방법이다.
  • 메소드 레퍼런스는 ClassName::MethodName형식으로 입력한다. 메소드를 호출하는 것이지만 괄호()는 써주지 않고 생략한다.
  • 메소드 레퍼런스에는 많은 코드가 생략되었기 때문에 사용하려는 메소드의 인자와 리턴 타입을 알고 있어야 한다.

 

2. 더블 콜론 사용 예제

import java.util.Arrays;
import java.util.List;
public class ColonMain {
    public static void main(String[] args) {
        List<String> names = Arrays.asList("복순이", "복돌이");

                // 기본 사용 방법
                names.forEach(x -> System.out.println(x));

                // 메소드 레퍼런스 사용
        names.forEach(System.out::println);
    }
}
  • 기본 사용 방법에서는 매개변수를 두 번 지정을 해야 한다. 하지만 메소드 래퍼런스를 사용하면두 번째 구문처럼 System.out::println으로 줄일 수 있다.
  • 사용 방법이 [인스턴스]::[메소드명(또는 new)] 라고 했는데, 여기서는 System.out이 인스턴스 부분이며, 그 인스턴스의 메소드 중 하나인 println이 메소드명으로 사용되었다.