디자인 패턴과 프로그래밍 패러다임

선언형과 함수형 프로그래밍

스파이더웹 2022. 7. 20. 14:23
728x90
반응형

선언형과 함수형 프로그래밍

  • 선언형 프로그래밍이란 ‘무엇을’ 풀어내는가에 집중하는 패러다임
  • 함수형 프로그래밍은 선언형 패러다임의 일종

함수형 프로그래밍

  • 순수 함수들을 블록처럼 쌓아 로직을 구현하고 고차 함수를 통해 재사용성을 높인 프로그래밍 패러다임
    • 순수 함수? 출력이 입력에만 의존하는 것을 의미
    순수함수인 경우(매개변수 a,b에만 영향을 받는다 만약 a,b말고 다른 전역변수 등이 출력에
    영향을 주는 경우 순수함수가 아니다)
    
    const pure = (a,b) => {
    	return a + b
    }
    순수함수가 아닌경우
    
    let c = 1;
    
    const notPure = (a,b) => {
    	return a + b+ c;
    }
    
    • 고차 함수? 함수가 함수를 값처럼 매개변수로 받아 로직을 생성할 수 있는 것을 말한다
      • 고차함수를 쓰기 위해서는 해당 언어가 일급 객체라는 특징을 가져야 하며 특징은 다음과 같다
        • 변수나 메서드에 함수를 할당할 수 있습니다
        • 함수 안에 함수를 매개변수로 담을 수 있습니다
        • 함수가 함수를 반환할 수 있습니다
728x90
반응형