개발자 랩실/스프링&스프링부트
[Java] :: 더블 콜론 사용 이유
sina.dev
2022. 2. 8. 20:05
728x90
목차
- 더블 콜론이란
- 더블 콜론 사용 예제
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이 메소드명으로 사용되었다.