내가 일하며 알게 된 프로그래밍
article thumbnail

자바로 개발을 하다보면 'Lambda can be replaced with method reference' 라는 추천이 뜬다.

이유인즉슨

var list = map.values().stream()
        .map(ClassA::getID).toList();

이런식으로 메소드 참조를 하게되면 더욱 코드를 간결하고 가독성을 향상시키는데 도움이 되기때문이다.

기능은 이게 끝이다.

 

근데 자바는 어떻게 가능한걸까?
ChatGPT에게 물어보았고 내가 이해한 이유는 다음과 같다.

1. 메서드가 일급 객체로 취급
Java 8부터 메서드가 일급 객체(First-Class Citizen)로 취급되기 시작하고
이로인해 메소드를 변수에 할당하고 함수의 인자로 전달할 수 있게 되었다.
따라서 메소드도 데이터와 마찬가지로 처리할 수 있으며, 참조를 가능하게 한다.

2. 함수형 프로그래밍의 특징
함수형 프로그래밍에서는 함수를 다른 함수의 인자로 전달하거나 반환하는 것이 일반적이다.
메소드를 함수로 취급하고 메소드 참조를 통해 이러한 기능을 쉽게 사용할 수 있다.

 

정리해서 Java 8 버전의 새로운 기능이다.

코드를 더욱 간결하고 가독성 높이며 함수형 프로그래밍의 개념인 '유지보수'를 용이하게 해주는 기능이다.

'프로그래밍 > JAVA' 카테고리의 다른 글

ArrayList, HashMap 등... Multi thread 관련 이슈  (0) 2022.08.21
profile

내가 일하며 알게 된 프로그래밍

@CtrlVGames