728x90

함수형 프로그래밍은 실행할 일련의 함수로 문제를 구성하는 작업으로 각 함수에 대한 입력과 각 함수가 반환하는 항목을 신중하게 정의한다

함수형 방법

특성 명령형 방법 함수형 방법
중점 작업을 수행하는 방법(알고리즘)과 상태의 변경을 추적하는 방법 원하는 정보와 필요한 변환
상태 변경 중요 존재하지 않음
실행 순서 중요 중요도가 낮음
주요 흐름 제어 루프, 조건 및 함수(메서드) 호출 재귀를 비롯한 함수 호출
주요 조작 단위 클래스나 구조체의 인스턴스 first-class 개체와 데이터 컬렉션인 함수

함수 표인터가 있는 언어로 함수형 프로그래밍을 수행할 수 있다 LINQ 기술은 선언적 함수형 프로그래밍의 형태이다

함수형 프로그래밍은 순수 함수 변환을 직접 지원하는 프로그래밍 방법이다

작성하기 어렵다는 단점이 있으나 람다식 및 형식 유추와 같은 새로운 언어 구문을 사용하면 기능 프로그래밍이 훨씬 쉽고 생산성이 향상된다. (리펙토링에 용이)

 

 

* 람다식 - 대리자 형식이 예상되는 곳에서 항상 사용할 수 있는 인라인 익명 함수

* 형식 유추 (암시적 형식 지정) - 명시적 형식 선언이 없는 경우 컴파일러에서 변수의 형식을 결정하도록 하는 기능

728x90

'c#' 카테고리의 다른 글

[C#] Interface  (0) 2023.01.05
[C#] 순수 함수  (0) 2023.01.04
[C#] await 연산자  (0) 2023.01.04
[C#] operator-overloading 연산자 오버로드  (0) 2023.01.04
[Console]Keypress  (0) 2022.11.09
Posted by 바르마스
,