함수형 프로그래밍
-
챕터[19] 함수형 프로그래밍 기법카테고리 없음 2020. 10. 22. 00:44
서론 일급 시민 고차원 함수 커링 부분 적용 영속 자료구조 자바 스트림을 일반화하는 게으른 평가와 게으른 리스트 패턴 매칭, 자바에서 패턴 매칭을 흉내 내는 방법 참조 투명성과 캐싱 일급 함수 함수형 프로그래밍에서 함수를 마치 일반값처럼 사용하여 인수를 전달하거나, 결과를 반환하거나 자료구조를 저장할 수 있어 일반값처럼 취급하는 함수를 일급 함수라고한다. 자바 8이 이전 버전과 구분될 수 있는 특징중 하나가 일급 함수를 지원한다는 점이 있다. 추가로 자바 8에서는 메서드 참조( :: ) 및 람다로 직접 함수값을 표현해 메서드를 함수값으로 사용할 수 있다. 고차원 함수 자바 8의 함수는 고차원 함수라 할 수 있으며 아래의 특징을 가진다. 하나 이상의 함수를 인수로 받는다. 결과값으로 함수를 반환한다. 지역..
-
챕터[18] 함수형 관점으로 생각하기모던자바인액션 2020. 10. 22. 00:44
서론 함수형 프로그래밍을 이용하지 않으면 메소드의 호출로 인하여 다른 객체가 변경될 경우 부작용이 발생할 수 있다. 이러한 부작용은 결국 개발자 입장에서 유지보수를 하기 힘들게 만들며, 병렬로 처리하는 과정에서는 언제 어떻게 값이 변경되는지 추적할 수가 없어진다. 공유된 가변 데이터 어떠한 자료구조도 바꾸지 않으며(자신을 포함하는 클래스의 상태 및 다른 객체) return 문을 통해서 자신의 결과를 반환하는 메서드를 순수 메서드 혹은 부작용 없는 메서드라고 불린다. 부작용 없는 메서드의 부작용이란? 자료구조를 고치거나 필드에 값을 할당 예외 발생 파일에 쓰기 및 I/O 동작 선언형 프로그래밍 어떻게로 접근하는 방식을 선언형프로그래밍이라고 부르기도 한다. 선언형 프로그래밍에서는 우리가 원하는 것이 무엇이고..