본문 바로가기

TIL(Today I Leared)

함수형 프로그래밍에대한 간단한 이해

참조

- https://www.youtube.com/watch?v=jVG5jvOzu9Y

- https://www.youtube.com/watch?v=4ezXhCuT2mw 

 

함수형 프로그래밍이란 ?

파이프라인과 같이 인풋과 아웃풋이 존재한다.
파이프라인은 외부에서 내부로 접근할 수 없게 설계가 되어있습니다.

  1. 순수함수
    함수에서 외부의 값을 참조하거나 외부의 값을 변경하는것을 순수함수라고 볼 수 없습니다.
    동일한 인자를 넣었을때 동일한 인자를 반환하는 것이죠.
  2. 비상태 불변성을 유지해야합니다.
    전달된 데이터를 변경하는것이 아니라 새로운 버전의 새로운 객체를 만들어서 결과를 전달해야합니다.
    사이드 이펙을 만들지 않음으로써 동시다발적인 멀티스레드 환경에서도 안정적으로 사용할 수 있습니다.
  3. Expression
    if문이나 while같은걸 사용하지않고 고차함수를 사용합니다.

학습활동에서 나온내용

  • 일이 끝났을때 알려줘 의미가 콜백이다. 그걸 표현하는 방법은 여러가지가 있을수있다. 클로저…등등등
  • 클로저는 참조입이라 다른데 참조가되어 재활용이 용이하다 ?
  • 이스케이핑 클로저, 캡쳐 등 알아보면 좋다.

고차함수를 사용하는 가장 중요한포인트 ?

  • 상수로 값을 다루기때문에 변하지않는 값을 다뤄 반환하는게 포인트이다.

고차함수가 함수형프로그래밍은 아니다.

  • 상태값에 따라서 결과물이 다르게 도출될 수 있는게 객체지향의 단점이자 단점이다. 하지만 순수함수로 구현하게되면 값이 리턴되는게 정확하기때문에 사펙을 둘일 수 있고 안정적인 로직이 만들어지는것이다. 상황에 따라 스임세가 다르겠지만 안정적인 로직이라는 장점은 오류를 줄일 수 있어 편하다.

'TIL(Today I Leared)' 카테고리의 다른 글

[TIL]20220104 Create Column BreakPoint 뺌  (0) 2022.01.06
[TIL]연습을 실전처럼  (0) 2021.12.13