함수형 인터페이스 2

자바 기초부터 모던 자바까지 - 람다편

목표 : 람다가 필요한 이유와 자바에서 적용된 내용을 알아본다. 이전 함수형 프로그래밍 포스트에 이어서, 람다에 대해 하나씩 알아가볼 예정이다. 자바에 람다와 함수형 프로그래밍이 왜 필요하지? 아래와 같이 정리해보고자 한다. 이름 없는 함수를 선언할 수 있다. 메서드는 반드시 특정 클래스나 인터페이스 안에 포함되어야 하고 메서드의 이름이 있어야 하지만, 람다 표현식은 이러한 제약에서 벗어난다. 즉, 유연성이 생긴다. 소스 코드의 분량이 획기적으로 줄어들 수 있다. 반복적인 작업이 필요한 기존소스의 비효율성을 낮출 수 있다. 코드를 파라미터로 전달할 수 있다. 외부에서 동작을 정의해서 메서드에 전달할 때 편리하게 사용할 수 있다. 기존의 자바에서 탈피하여 지금 우리가 람다를 공부하는 이유다. 람다 표현식을..

Programming/Java 2022.07.06

자바 기초부터 모던 자바까지 - 함수형 프로그래밍 편

목표 : 자바에서의 함수형 프로그래밍에 대해 알아본다. 왜 함수형 프로그래밍이 도입되기 시작했을까? 객체 지향 프로그래밍의 정수였던 java에서 왜 새로운 패러다임을 도전하게 된 것일까? 결국에는 애플리케이션의 요구 조건 변경에 대응하는 절차였다. 먼저 그 흐름을 따라가 보도록 하자 여행 정보를 조회하는 클래스가 있다. 국가명을 통해 조회하며, 그 결과를 리스트로 제공한다. SearchTravel 이라는 이 클래스에는 searchTravelInfo(String country) 라는 메소드로 이를 제공하고 있었다. 새로운 요구사항이 등장했다. 국가명도 제공해야하지만, 도시명으로도 제공해야했다. 그에 따라 2가지 변경 방안이 등장하게 된다. 도시 정보를 파라미터로 받아서 처리할 수 있는 메서드를 추가한다. ..

Programming/Java 2022.07.03