1.함수형 프로그래밍 (Functional Programming, FP)
상태 변화나 변수 변경을 피하고, 순수 함수(pure function)를 중심으로 한 프로그래밍 방식이며 데이터와 그 데이터를 변환하는 함수가 핵심이다.
순수 함수, 불변성, 고차 함수 등 여러 핵심 개념을 통해 데이터를 안전하고 효과적으로 처리할 수 있는 방법을 제공한다.
1-1.순수 함수 (Pure Function)
입력만을 기반으로 출력을 생성하고, 함수 외부의 상태나 데이터에 영향을 미치지 않는다.
같은 입력에 대해 항상 같은 출력을 보장한다.
// 순수 함수
public int add(int a, int b) {
return a + b; // 항상 같은 입력에 대해 같은 결과
}
1-2.불변성 (Immutability)
함수형 프로그래밍에서는 데이터가 불변이어야한다.
데이터가 한 번 만들어지면 변경하지 않고, 항상 새로운 값을 생성하는 방식으로 동작한다.
// 불변 객체
final List<String> list = List.of("a", "b", "c");
list.add("d"); // 오류 발생, 불변 객체는 수정 불가
1-3.고차 함수 (Higher-Order Function)
함수형 프로그래밍에서는 함수를 매개변수로 전달하거나 함수를 반환할 수 있다.
// 고차 함수: 다른 함수를 매개변수로 받음
public static List<Integer> applyFunction(List<Integer> list, Function<Integer, Integer> function) {
return list.stream().map(function).collect(Collectors.toList());
}
'Computer Science > 개발지식' 카테고리의 다른 글
[개발지식] 콜백 함수 (Callback Function) (0) | 2025.01.05 |
---|---|
[개발지식] Monad (0) | 2025.01.05 |
[개발지식] Functor (0) | 2025.01.05 |