함수형 프로그래밍 2

[Swift] 함수형 프로그래밍(feat. 순수 함수)

Q. 함수형 프로그래밍의 정의를 설명해 줘 A. 함수형 프로그래밍은 계산을 수학적 함수의 조합으로 생각하고, 이러한 함수들의 조합으로 프로그램을 작성하는 프로그래밍 패러다임입니다. 이를 통해 부작용을 최소화하고, 상태 변화를 제어하여 프로그램의 안정성과 가독성을 높일 수 있습니다. 함수형 프로그래밍에서는 함수가 순수 함수여야 합니다. 즉, 함수는 입력값에 대해 항상 동일한 결과값을 반환하며, 함수 외부의 상태를 변경하지 않아야 합니다. 이를 통해 함수 호출이 항상 예측 가능하게 되고, 코드를 이해하고 디버깅하기 쉬워집니다. 또한 함수형 프로그래밍에서는 불변성을 중요시합니다. 즉, 한번 정의된 값은 변경되지 않아야 합니다. 이를 통해 병렬 처리를 용이하게 만들 수 있으며, 불필요한 상태 변경으로 인한 버그..

iOS/Common 2023.04.10

[Swift] 탈출 클로저(Escaping Closure)

갑자기 탈출이라고? 함수의 전달인자로 전달한 클로저가 함수 종료 후에 호출될 때 클로저가 함수를 탈출(Escape)한다고 표현합니다. 클로저를 매개변수로 갖는 함수를 선언할 때 매개변수 이름의 콜론(:) 뒤에 @escaping 키워드를 사용하여 클로저가 탈출하는 것을 허용한다고 명시해줄 수 있습니다. 비동기 작업으로 함수가 종료되고 난 후 호출할 필요가 있는 클로저를 사용해야 할 때 탈출 클로저(Escaping Closure)가 필요합니다. 만약 @escaping 키워드를 따로 명시하지 않는다면 매개변수로 사용되는 클로저는 기본적으로 비탈출 클로저입니다. 함수로 전달된 클로저가 함수의 동작이 끝난 후 사용할 필요가 없을 때 비탈출 클로저를 사용합니다. 클로저가 함수를 탈출할 수 있는 경우 중 하나는 함수..

iOS/Common 2023.04.10