본문 바로가기
STUDY/CS

순수함수에 대해 R아보자

by 23g 2025. 4. 18.

 

📌 Swift에서 순수 함수(Pure Function)란?

Swift에서 함수형 프로그래밍 스타일을 따를 때 가장 중요한 개념 중 하나가 순수 함수임
테스트하기 쉽고, 예측 가능한 코드를 작성할 수 있게 해줌

순수 함수란?

  • 같은 입력 → 항상 같은 출력 반환함
  • 외부 상태를 변경하지 않음 (side effect 없음)

💡 예시: 순수 함수

func add(_ a: Int, _ b: Int) -> Int {
    return a + b
}

입력이 같으면 항상 같은 값 반환하고, 외부 변수 변경도 없음
→ 순수 함수임

❌ 순수 함수가 아닌 예시

var counter = 0

func incrementAndReturn(_ a: Int) -> Int {
    counter += 1
    return a + counter
}
  • 외부 상태(counter)를 변경함
  • 호출할 때마다 결과 달라짐
    → 순수 함수 아님

순수 함수의 장점

  • 결과 예측 가능 → 디버깅 쉬움
  • 테스트하기 편함
  • 병렬 처리에 유리함
  • 캐싱(memoization)에 유리함

Swift에서의 활용

Swift의 고차함수 map, filter, reduce 같은 함수는 순수 함수 기반으로 작동함
함수형 스타일 코드를 짜고 싶다면 순수 함수 활용이 기본임

✍️ 한줄 요약

순수 함수는 입력 → 출력만으로 동작하며, 외부 상태에 의존하거나 영향을 주지 않음
테스트와 유지보수에 강한 코드 작성에 필수임