woowacourse-study/2022-modern-java-in-action

람다를 잘 활용하는 방법

Opened this issue · 1 comments

문제

우리가 Java에서 코드를 구현하면서 람다를 잘 활용하고 있는 예시가 있을까?

선정 배경

람다에 대해서 배우고, 사용하는 법을 알았으니 어떻게 하면 잘 사용하는지를 알아보아야 할 차례겠죠?

관련 챕터

ch.3

람다를 잘 활용하는 방법에는 2가지가 있다고 생각합니다.

첫번째는 Stream 연산에서 사용하는 메서드를 파라미터화 하여 함수형 인터페이스로 사용하는 방법입니다. 평소에도 람다를 쓴다고 인식하지
않을 수도 있지만 많은 곳에서 사용되며, 메서드와 클래스를 매번 정의하지 않고 쉽게 매번 다른 함수를 스트림 연산에서 이용할 수 있게 됩니다.

두번째는 추상 클래스 혹은 인터페이스를 구체화하는 구체 클래스를 만들 때 메서드를 Override 하여 만드는 것이 아니라 함수형 인터페이스(람다) 를 사용해서 원하는 동작을 하는 메서드를 매개변수화 하여 해당 클래스를 만들 때 생성자로 넣어주는 것입니다.

이렇게 생성자로 사용자가 커스텀한 동작을 넣어주게 된다면 불필요한 상속, 계층 구조를 통해서 구현하기 보다는 클래스 1개로 여러 동작을 하는 클래스를 구성할 수 있기 때문에 더욱 유연하고 간단하게 사용할 수 있게 됩니다.