TIL(Today I Learned)

6월 17일(목)

학습내용

  • 면접 스터디
    • 함수형 프로그래밍이란?
      • 함수를 이용하여 프로그래밍 하는 것 (선언적 프로그래밍)
      • State를 지양.
      • Side Effect이 최소화.
      • 함수형 프로그래밍에서 함수는 일급 객체여야 한다.
    • 고차함수란?
      • 함수를 입력으로 받거나 함수를 출력으로 하는 함수.

문제점/고민한점

  1. map, filter 같은 고차함수는 함수를 반환하지 않고 배열을 반환하는데 왜 고차함수라고 하지?
  2. 왜 고차함수는 고차함수라고 하지?

해결방법

  1. 꼭 함수를 출력하지 않아도 고차함수라고 정의할 수 있다. 함수를 입력받거나 출력하거나 둘 중의 하나만 만족하면 고차함수라고 한다. map, filter는 함수를 입력으로 받는다.
  2. 준스가 말하길, 수학에서 고차와(고차방정식?) 비슷한 의미인 것 같다고 했다. 고차방정식은 미지수가 다회 곱해진 형태이듯이, 고차함수는 여러 함수를 매핑하여(함수를 입력받거나 출력하니깐) 여러 함수가 중첩되어진 형태가 될 수 있으므로 같은 고차라는 이름이 붙여진게 아닐까 싶다.

참고