함수형 프로그래밍과 특징에 대해 설명해주세요.

최관수·2023년 9월 22일
0

기술면접

목록 보기
43/58
post-custom-banner

내용 정리

  • 함수형 프로그래밍은 몇 가지 특징이 있습니다. 우선 인풋과 아웃풋이 있다는 점과 외부 환경으로부터 철저하게 독립적이라는 점입니다. 전역 변수와 같은 외부의 환경을 참조하지 않습니다.(물론 사용이 필요할 땐 인자로 넣고 사본을 만들어서 처리) 앞서 두 가지 특징 덕분에 같은 인풋에 있어서 동일한 아웃풋을 생산하게 됩니다(불변성). 이런 걸 순수 함수라고 말하는데, 순수 함수의 특징은 side effect로부터 자유로워진다는 점입니다. 물론 함수형이 아니더라도 side effect를 막기 위해 Java의 경우 synchronized를 이용해서 수동으로 변수에 락을 거는 등 수동으로 안전하게 처리할 방법은 있지만 JavaScript에서는 구현이 까다롭고 휴먼 에러가 생길 여지가 있습니다. 함수형 프로그래밍의 이런 특징 덕분에 높은 수준의 추상화가 가능하고 코드 재사용이 상대적으로 수월하며 예측 가능성을 높일 수 있습니다.

꼬리 질문

  • 함수형 프로그래밍을 사용한 경험이 있나요?

참고자료

스터디 메모

  • 함수형 프로그래밍으로서의 styled-components
profile
평소엔 책과 영화와 음악을 좋아합니다. 보편적이고 보통사람들을 위한 서비스 개발을 꿈꾸고 있습니다.
post-custom-banner

0개의 댓글