플러터 앱 개발

Chapter 7. 함수형 프로그래밍 A - 함수형 프로그래밍 소개

yuna 2025. 12. 30. 15:58

안녕하시렵니까?

오늘은 함수형 프로그래밍에 대해서 정리해 보려고 합니다!! 하핫

 

이제 겨우겨우 함수에 대해서 배웠는데, 

함수형 프로그래밍이라니,, 벌써 두려우신가요...(저도요)

 

하지만..! 이 개념을 확실하게 알고 가면 앞으로 자주 쓰게 될 테니 우리 조금만 힘내보자구요!!!

 

 

함수형 프로그래밍

1. 프로그램을 함수의 조합으로 바라보는 사고 방식

 

함수의 조합, 즉 연속해서 작성하는 방식을 메서드 체이닝이라고 한다!

 

메서드 체이닝이란?

. 을 사용해서 여러 개의 함수를 하나로 연결하는 방식

int number = -12345
var result = number.abs().toString().contains('3'); -> .으로 연결!
print(result); // true

 

2. 가변적인 데이터의 사용을 최소화하여 프로그램을 구성하는 방식

즉, 출력값이 항상 그 함수의 매개변수(입력값)에만 의존하게 한다는 뜻이다.

int add(int a, int b) {
  return a + b;
}

void main() {
  int result = add(3, 4); -> 매개변수 값 전달
  print(result); // 7
}

 

이런 형태의 함수를 순수 함수(Pure Function)라고 부른다!

 

순수 함수란?

값을 입력 값에 대해서 항상 같은 출력값이 나오는 함수

즉, 입력만 보고 결과를 알 수 있는 함수이다!

 

사용 이유

같은 값을 입력하면 항상 같은 값이 나오기 때문에 예상하지 못 했던 상황이 생길 일이 적어진다.

예측 가능하고, 고치기 쉽고, 안전하게 만들기 위해 사용한다.

추가로, 예상하지 못 했던 상황을 부작용(Side Effect)이라고 한다!