Programming🧑💻/Functional Programming
-
함수형 프로그래밍이 선언적인 이유Programming🧑💻/Functional Programming 2025. 2. 17. 22:49
SwiftUI와 UIKit 뷰 구성하는 법 비교하기 ( 선언형, 절차형 패러다임 비교)SwiftUI - 선언형 프로그래밍선언형 프로그래밍에서는 "무엇"을 원하는지를 코드로 작성합니다.개발자는 원하는 결과를 설명하고, 시스템이 그 결과를 어떻게 달성할지 결정합니다.SwiftUI 예제다people-analysis.tistory.com이전에 SwiftUI와 UIKit에서 뷰를 구성하는 방법을 비교하면서 선언적 프로그래밍과 함수형 프로그래밍을 서로 비교해 봤는데요. 최근에 함수형 프로그래밍을 접하면서 함수를 이용해 값의 입력과 출력을 다루는 게 마치 SwiftUI에서 값 변경을 감지해 이를 화면에 반영하는 뷰 랜더링 사이클과 비슷하다는 느낌이 들었습니다.그래서 함수형 프로그래밍이 왜 '선언적'이라고 불리는지, ..
-
순수 함수란?Programming🧑💻/Functional Programming 2025. 2. 10. 23:22
수학에서 f(x) = x + 1 같이 함수는 x에 특정 값을 넣으면 항상 동일한 결과가 나옵니다. 프로그래밍에서 순수 함수도 이와 같은 원칙을 따릅니다. 항상 단일 값을 반환합니다 (동일한 입력에 대해 동이한 출력 반환)반환 값은 오직 입력 매개변수에만 기반하여 계산됩니다기존 값을 변경하거나 부작용을 일으키지 않습니다위의 원칙들을 따르면서 나타나는 다음 특성들 때문에 이를 '순수'하다고 합니다 입력과 출력의 관계가 순수하게 유지됩니다 (같은 입력 = 같은 출력)외부 세계와의 상호작용 없이 순수하게 계산만 수행합니다부작용 없이 순수하게 자신의 역할만 수행합니다 순수함수가 왜 필요한데?전통적인 클래스 기반 접근 방식의 문제점장바구니에 책이 포함되어 있을 때 할인을 해주는 비즈니스 로직을 구현한다고 해봅시다...
-
함수야 거짓말 하지마라Programming🧑💻/Functional Programming 2025. 2. 9. 23:07
함수 시그니쳐란? 함수 시그니쳐는 함수의 정체성을 나타내는 ID 카드와 같습니다. 함수의 이름, 매개변수 타입, 반환 타입을 포함하며,이를 통해 함수가 무엇을 받아서 무엇을 돌려주는지를 명확하게 알 수 있어야합니다. func functionName(parameterName: ParameterType) -> ReturnType { // 함수 구현}예를 들어, 사용자의 나이를 받아서 성인 여부를 반환하는 함수의 시그니처는 이렇게 됩니다func isAdult(age: Int) -> Bool { return age >= 18}위와 같이 함수의 시그니쳐들을 통해 해당 함수가 어떤 "역할을 하는지?" ,"어떤 값들을 필요로 하는지?", "어떤 결과값이 나올 수 있는지?"등의 함수의 동작을 예측할 수 있어..