참조
- https://www.youtube.com/watch?v=jVG5jvOzu9Y
- https://www.youtube.com/watch?v=4ezXhCuT2mw
함수형 프로그래밍이란 ?
파이프라인과 같이 인풋과 아웃풋이 존재한다.
파이프라인은 외부에서 내부로 접근할 수 없게 설계가 되어있습니다.
- 순수함수
함수에서 외부의 값을 참조하거나 외부의 값을 변경하는것을 순수함수라고 볼 수 없습니다.
동일한 인자를 넣었을때 동일한 인자를 반환하는 것이죠. - 비상태 불변성을 유지해야합니다.
전달된 데이터를 변경하는것이 아니라 새로운 버전의 새로운 객체를 만들어서 결과를 전달해야합니다.
사이드 이펙을 만들지 않음으로써 동시다발적인 멀티스레드 환경에서도 안정적으로 사용할 수 있습니다. - Expression
if문이나 while같은걸 사용하지않고 고차함수를 사용합니다.
학습활동에서 나온내용
- 일이 끝났을때 알려줘 의미가 콜백이다. 그걸 표현하는 방법은 여러가지가 있을수있다. 클로저…등등등
- 클로저는 참조입이라 다른데 참조가되어 재활용이 용이하다 ?
- 이스케이핑 클로저, 캡쳐 등 알아보면 좋다.
고차함수를 사용하는 가장 중요한포인트 ?
- 상수로 값을 다루기때문에 변하지않는 값을 다뤄 반환하는게 포인트이다.
고차함수가 함수형프로그래밍은 아니다.
- 상태값에 따라서 결과물이 다르게 도출될 수 있는게 객체지향의 단점이자 단점이다. 하지만 순수함수로 구현하게되면 값이 리턴되는게 정확하기때문에 사펙을 둘일 수 있고 안정적인 로직이 만들어지는것이다. 상황에 따라 스임세가 다르겠지만 안정적인 로직이라는 장점은 오류를 줄일 수 있어 편하다.
'TIL(Today I Leared)' 카테고리의 다른 글
[TIL]20220104 Create Column BreakPoint 뺌 (0) | 2022.01.06 |
---|---|
[TIL]연습을 실전처럼 (0) | 2021.12.13 |