메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

함수형 프로그래밍을 깊이 있게 다룬 책

syung7***

|

2024-04-28

함수형 프로그래밍 with 자바

모던 자바의 새로운 전환점, 함수형 프로그래밍에 집중하라. 람다와 스트림을 활용한 자바 함수형 프로그래밍 실전 가이드

  • 저자 : 벤 바이디히
  • 번역 : 허귀영
  • 출간 : 2024-03-27

함수형 프로그래밍을 접한 지 얼마 되지 않았고 객체 지향과 어떤 점이 다른지, 왜 사용하는지, 

대규모 데이터 처리와 분산 시스템, 클라우드 컴퓨팅 등의 현대 개발 환경의 복잡한 요구 사항에 왜 효과적인지 알고 싶어서 책을 읽게 되었다.

 

함수형 프로그래밍의 개념을 7개로 나누어 설명이 된다.
위 특성들은 서로 연결되어 있다.

함수형은 추상함수를 생성하고 조합하여 논리 연산을 표현하며 프로그램을 변경시키지 않는다.
불변성을 갖게 되면 초기화된 이후 자료구조를 변경할 수 없고 이에 따라 일관성을 보장하고 예측 가능하며 이해하기 쉬워진다.
순수 함수형 프로그래밍은 종종 반복문이나 반복자 대신 재귀를 선호하는 경향이 있다.

일급함수는 프로그래밍 언어에서 함수를 소위 '일급 객체'로 대우하는 것을 의미한다. 함수 자체를 다른 함수에 인수로 전달하거나 반환값으로 사용할 수 있으며 변수에 할당할 수 있는 함수를 지칭한다.
고차 함수는 일급 객체의 특성을 바탕으로 함수를 인수로 받거나 반환하거나 또는 두 가지 모두를 가능하게 한다.

핵심은 객체 지향은 클래스(또는 객체, Object)가 일급 객체가 되지만,
함수형 프로그래밍에서는 함수(Function) 자체가 일급 객체가 된다는 점으로 보인다.

스트림 API 를 이용하여 함수형 데이터 파이프라인으로써의 스트림에 대해서도 다룬다. 
재귀 그리고 스트림을 다루는 방법을 통해 왜 대규모 데이터 처리에 강점을 보이는 지 알 수 있었다.
객체 지향은 비교적 속도가 느리다는 단점이 있다.

결론부터 말하자면 내겐 굉장히 어려운 책이었다.
객체 지향이 당연하듯 익숙했던 내게 함수형 프로그래밍은 많이 낯설었기 때문이다.
책에 나온 것처럼 함수형 프로그래밍의 좋은 부분들을 선택하고 객체 지향을 보완하는 게 좋지 않을까 라는 생각이 들었다.
결국 프로그래밍 이론에 정답은 없으니 말이다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?