함수형 프로그래밍은 왜 중요한가?
덩치가 큰 함수는 테스트하기도 어렵고 가독성도 떨어집니다. 소프트웨어 개발자라면 종종 수많은 기능 요구 사항을 함수 하나에 몰아넣는 식으로 코딩했던 경험이 있을 겁니다. 하지만 이렇게 거대하고 복잡한 함수일수록 내부 구현 로직을 추출해서 여러 개의 작고 이해가 쉬운 함수들로 빼내면 코드의 재사용성도 좋아지고 높은 수준의 테스트가 가능해집니다.
코드 재사용성과 높은 수준의 테스팅, 이 두 가지는 함수형 언어로의 전환이 가져다 줄 가장 중요한 선물입니다. 하나의 함수로부터 전체 기능 덩어리를 추출할 수 있다면 나중에 지루한 카피-앤-페이스트 작업을 하지 않아도 기능 변경이 쉽습니다.
이 책의 대상독자
이 책은 함수형 프로그래밍에 관심이 있거나 기존 명령형 코드의 함수형 전환을 고려 중인 분들을 위해 쓰였습니다. 명령형 또는 객체 지향 스타일의 코딩을 주로 해 온 프로그래머라면 부디 이 책을 읽고 앞으로는 함수형 코드를 작성했으면 하는 바람입니다.
1 소개
1.1 함수형 프로그래밍 개요
1.2 함수형 프로그래밍과 동시성
1.3 정리하기
2 일급 함수
2.1 한빛증권 입사를 환영합니다!
2.2 함수를 객체로
2.3 익명 함수
2.4 고차 함수
2.5 그루비를 이용한 get 함수 리팩토링
2.6 정리하기
3 순수 함수
3.1 입력에 따라 출력이 달라진다
3.2 함수를 순수하게
3.3 부수 효과
3.4 정리하기
4 불변 변수
4.1 가변성
4.2 불변성
4.3 정리하기
5 재귀
5.1 재귀 개요
5.2 재귀
5.3 꼬리 재귀
5.4 countEnabledCustomersWithNoEnabledContacts 함수 리팩토링
5.5 정리하기
6 조급한 계산과 느긋한 계산
6.1 조급한 계산
6.2 느긋한 계산
6.3 느긋함이 문제가 될 수도 있습니다
6.4 정리하기
7 문장
7.1 완전한 함수형 프로그래밍 언어의 세계로!
7.2 단순문
7.3 블록문
7.4 모든 게 다 문장이다
7.5 정리하기
8 패턴 매치
8.1 단순 매치
8.2 단순 패턴
8.3 리스트 추출
8.4 객체 추출
8.5 패턴 매치로 전환
8.6 정리하기
9 함수형 OOP
9.1 정적 캡슐화
9.2 객체는 그릇이다
9.3 코드는 데이터다
9.4 정리하기
10 결론
10.1 명령형에서 함수형으로
10.2 새로운 디자인 패턴
10.3 총정리
10.4 정리하기
부록
부록.1 자바 8/그루비/스칼라 설치
부록.2 자바 8
부록.3 그루비
부록.4 스칼라
리얼타임 eBook 안내
PDF 형식으로 제공되며, 다운로드한 eBook은 PDF 포맷을 지원하는 디바이스 또는 프로그램에서 제한없이 열람할 수 있습니다. 또한 eBook 내의 텍스트 검색 및 인쇄도 가능합니다.