TIL(Today I Learned)
6월 17일(목)
학습내용
- 면접 스터디
- 함수형 프로그래밍이란?
- 함수를 이용하여 프로그래밍 하는 것 (선언적 프로그래밍)
- State를 지양.
- Side Effect이 최소화.
- 함수형 프로그래밍에서 함수는 일급 객체여야 한다.
- 고차함수란?
- 함수를 입력으로 받거나 함수를 출력으로 하는 함수.
- 함수형 프로그래밍이란?
문제점/고민한점
- map, filter 같은 고차함수는 함수를 반환하지 않고 배열을 반환하는데 왜 고차함수라고 하지?
- 왜 고차함수는 고차함수라고 하지?
해결방법
- 꼭 함수를 출력하지 않아도 고차함수라고 정의할 수 있다. 함수를 입력받거나 출력하거나 둘 중의 하나만 만족하면 고차함수라고 한다. map, filter는 함수를 입력으로 받는다.
- 준스가 말하길, 수학에서 고차와(고차방정식?) 비슷한 의미인 것 같다고 했다. 고차방정식은 미지수가 다회 곱해진 형태이듯이, 고차함수는 여러 함수를 매핑하여(함수를 입력받거나 출력하니깐) 여러 함수가 중첩되어진 형태가 될 수 있으므로 같은 고차라는 이름이 붙여진게 아닐까 싶다.
참고