더북(TheBook)

또 다른 예로 리스트의 요소를 모두 출력한다고 하자. ArrayList 클래스에는 지정한 함수를 각 요소에 적용하는 forEach 메서드가 있다. forEach 메서드는 다음과 같이 호출할 수 있다.

list.forEach(x -> System.out.println(x));


하지만 println 메서드를 forEach 메서드에 전달할 수 있다면 더 좋을 것이다. 다음 방법을 이용하면 된다.

list.forEach(System.out::println);


일련의 예제에서 볼 수 있듯이 :: 연산자는 클래스 이름과 메서드 이름을 분리하거나 객체의 이름과 메서드 이름을 분리한다. 다음 세 가지 형태로 :: 연산자를 사용할 수 있다.

1. Class::instanceMethod

2. Class::staticMethod

3. object::instanceMethod

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.