[Swift] 함수형 프로그래밍

임승섭·2023년 6월 28일
0

Swift

목록 보기
19/35

스위프트의 프로그래밍 패러다임

  • 객체지향 프로그래밍 (Object-Oriented)
  • 프로토콜 지향 프로그래밍 (Protocol-Oriented)
  • 함수형 프로그래밍 (Functional)

명령형 vs. 함수형

산을 올라가는 방법
1. 걸어서 올라간다 : 명령형
2. 헬기 타고 정상에서 내린다 : 함수형

명령형 프로그래밍

  • 값을 대입
  • 변수 지정, for문 -> 어떻게 구현해낼지 설계
  • HOW?
    // 배열의 합 -> 어떻게(how)? 구현해낼까?
    let numbers = [1, 2, 3]
    var sum = 0
    for num in numbers {
        sum += num
    }

함수형 프로그래밍

  • 함수 사용

  • 이미 있는 함수를 가지고, 어떤 걸 가져다 붙이면 결과가 나올지

  • "가져다 붙인다" 함수의 조합

  • WHAT?

    // 기존의 함수를 어떻게 조합해서 결과를 만들까?
    배열.map{ 클로저 }.filter{ 클로저 }.reduce(0) { 클로저 }
    
    let numbers = [1, 2, 3]
    var newSum = 0
    
    newSum = numbers.reduce(0) { $0 + $1 }

0개의 댓글