티스토리 뷰
선언형 프로그래밍(Declarative Programming)이란?
무엇을 풀어내는가에 집중하는 패러다임이며, "프로그램은 함수로 이루어진 것이다."라는 명제가 담겨 있는 패러다임이다.
함수형 프로그래밍(Functional Programming)이란?
선언형 패러다임의 일종으로 '순수 함수'들을 블록 처럼 쌓아 로직을 구현하고, '고차 함수'를 통해 재사용성을 높인 프로그래밍 패러다임이다.
자바스크립트는 객체지향 프로그래밍보다 함수형 프로그래밍 방식이 선호된다.
순수 함수
출력이 입력에만 의존하는 것을 의미한다.
const pure = (a, b) => {
return a + b
}
pure 함수는 들어오는 매개변수 a, b에만 영향을 받는다. 만약 a, b가 아닌 다른 전역 변수 등이 출력에 영향을 준다면 순수 함수가 아니다.
고차 함수
함수가 함수를 값처럼 매개변수로 받아 로직을 생성할 수 있는 것을 의미한다.
고차함수를 쓰기 위해서는 해당 언어가 일급 객체라는 특징을 가져야 하며 그 특징은 다음과 같다.
- 일급 객체의 특징
- 변수나 메서드에 함수를 할당할 수 있다.
- 함수 안에 함수를 매개변수로 담을 수 있다.
- 함수가 함수를 반환할 수 있다.
Reference
'CS > 프로그래밍' 카테고리의 다른 글
리액티브 프로그래밍 (1) | 2022.09.19 |
---|---|
비동기 프로그래밍 (0) | 2022.09.18 |
프로그래밍 패러다임 (0) | 2022.09.14 |
절차지향 프로그래밍 (0) | 2022.09.14 |
객체지향 프로그래밍 (0) | 2022.09.14 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- java
- 스프링 WebFlux
- 보이스코드정규형
- 디자인 패턴
- 대수확장성
- 코틀린
- 인덱스최적화
- 네트워크 기초
- 세컨더리인덱스
- 중첩루프조인
- 프로세스 컴파일
- 선언형 프로그래밍
- 프로세스와 스레드
- 메모리 계층
- Design Pattern
- 클러스터형인덱스
- 불연속할당
- 프로세스
- 캐시매핑
- 프로그래밍 패러다임
- 네트워크
- 직접연관매핑
- 프로그래밍
- 함수형 프로그래밍
- 스프링 R2DBC
- 연관매핑
- 스레드
- 정렬병합조인
- 직접매핑
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함