메소드::참조 문법

Moon·2024년 3월 27일

Java

목록 보기
39/45

https://www.tcpschool.com/java/java_lambda_reference

https://inpa.tistory.com/entry/JAVA8-%E2%98%95-%EB%9E%8C%EB%8B%A4%EC%8B%9D%EC%9D%84-%EB%8D%94-%EC%A7%A7%EA%B2%8C-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%B0%B8%EC%A1%B0Method-Reference

javaList<Number> list = Arrays.asList(1, 2, 3, 4, 5, 6);

// 기존 람다 방식
list.forEach( (e) -> System.out.println(e) );

// 메소드 참조 방식
list.forEach(System.out::println);

람다식을 사용할 때 ::(더블 콜론)을 이용해 메소드를 실행시는 경우가 있습니다.이러한 문법을 메소드 참조라고 하며 람다식에서 불필요한 매개변수를 제거하는 것이 목적입니다.람다식에서 기존 메소드를 단순하게 호출만 하는 경우에 메소드 참조를 사용하면 불필요한 매개변수를 제거하고 '::' 기호를 사용하여 표현할 수 있습니다.

📌 Stream에서의 메소드 참조
사실 메소드 참조는 람다식을 사용할 일이 많은 stream에서 많이 찾아볼 수 있습니다.그럼 스트림에서 메소드 참조가 어떻게 쓰이는지 간단하게 알아보고 글을 마치겠습니다.

List<String> list = List.of("A","AB","ABC","ABCD"); 

// 람다식 사용 
list.stream() 
	.map(str -> str.length()) 
	.forEach(str -> System.out.println(str)); 

// 메소드 참조 사용 
list.stream() 
	.map(String::length) 
	.forEach(System.out::println);

https://lasbe.tistory.com/75

0개의 댓글