목차


서문

함수형 프로그래밍이라는 용어를 여러 번 들어봤고, 인터넷에서 함수형 프로그래밍을 활용한 코드 예시를 따라 해 본 적도 있습니다. 그러나 객체지향 프로그래밍에 비해 함수형 프로그래밍이 무엇인지 명확히 이해하고 적용해 본 경험은 부족했습니다. 개발자로서 이러한 부분이 항상 아쉬웠는데, 최근에 ‘쏙쏙 들어오는 함수형 코딩’이라는 책을 접하게 되어 배운 내용을 정리하고 공유하고자 합니다. 이 글에서는 함수형 프로그래밍의 핵심 개념인 액션, 계산, 데이터에 대해 알아보고, 이를 통해 함수형 사고를 기존 코드에 어떻게 적용해서 코드의 품질을 향상시킬 수 있는지 살펴보겠습니다.


액션, 계산, 데이터

함수형 프로그래밍에서는 코드를 세 가지 요소로 나누어 생각합니다: 액션, 계산, 데이터. 각각의 요소는 프로그램의 다른 측면을 나타내며, 이를 명확히 구분함으로써 코드의 품질과 유지보수성을 향상시킬 수 있습니다.

액션

계산

데이터


액션과 계산을 분리하는 방법

액션과 계산을 분리하는 것은 함수형 프로그래밍에서 매우 중요한 원칙입니다. 이를 통해 코드의 테스트 용이성, 가독성, 재사용성을 높일 수 있습니다.

암묵적 입력과 출력 식별

명시적 입력과 출력으로 변환

순수 함수로 리팩토링


계층형 구조와 함수형 프로그래밍

함수형 프로그래밍에서는 코드의 안정성과 변경 용이성을 고려하여 계층형 구조를 적용합니다. 이는 코드의 복잡성을 관리하고 유지보수성을 향상시키는 데 도움을 줍니다.

계층의 구성

계층형 구조의 장점


마치며

함수형 프로그래밍의 핵심 개념인 액션, 계산, 데이터를 이해하고 이를 코드에 적용하면, 프로그램의 가독성, 재사용성, 유지보수성을 크게 향상시킬 수 있습니다. 함수형 프로그래밍은 상태 변경을 최소화하고, 순수 함수를 적극 활용하여 예측 가능한 코드를 작성하는 데 중점을 둡니다. 액션과 계산을 분리하고, 계층형 구조를 통해 코드의 안정성과 확장성을 높이는 방법을 통해 복잡한 시스템에서도 코드의 품질을 유지하며 개발 생산성을 향상시킬 수 있을 것입니다.


2024-10-17
다음 글: 로그 데이터 처리 예시로 알아보는 파이프라인 아키텍처 → 카테고리로 돌아가기 ↩