12월, 2018의 게시물 표시

[Swift 공부] Swift 함수형 프로그래밍 패러다임

이미지
필자가 스위프트를 처음부터 다시보자는 목적중에 "함수형 프로그래밍 패러다임"도 한 몫 하고 있는데, 말 그대로 간단하게 보면 함수가 중심인 패러다임아라는 소리이다. 그렇게 보면 지금도 쓰고 있지 않을까? 라는 생각을 하고 있다가 스위프트에서 함수형 패러다임을 쓰게된 이유 등 좀 더 자세히 보고 필자가 생각하고 있는게 정말로 맞는지 확인하고 정확하게 파악하기 위해서 공부해 보려고 한다. 객체지향 프로그래밍 패러다임 객체지향 프로그래밍 패러다임(*OOP)은 객체지향 프로그래밍 이라고도 불리며, 객체지향 프로그래밍은 프로그램을 명령어의 목록으로 보는 기존의 명령형 프로그래밍 패러다임의 시각에서 벗어나 여러 개의 독립된 단위인 객체의 모임으로 파악하고자 하는 시각이다. 각각의 객체는 서로 메시지를 주고 받고 데이터를 처리한다. ( * Object-Oriented Programming Paradigm) 함수형 프로그래밍 패러다임 함수형 프로그래밍 패러달임은 최근 프로그래밍 패러다임의 대세로 떠오르고 있다. 함수형 프로그래밍 패러다임의 가장 큰 장점은 "대규모 병렬처리가 굉장히 쉽다"는 점이다. 명령형 프로그래밍과 함수형 프로그래밍의 비교 애플의 프레임워크 대부분이 객체지향 패러다임 기반으로 설계가 되어 있기 때문에 객체지향을 아예 사용하지 않을 수는 없다고 한다. 그러면서도 스위프트에서 함수형 패러다임을 강조하고 있는데, 서버영역에서 스위프트를 사용했을때 순수하게 함수형 패러다임만으로 프로그램을 작성할 수 있기 때문이다. 때에 따라서 적절하게 섞어 프로그램을 작성하는게 좋다고 본다. 위에서 설명 했듯이 iOS개발을 진행할 때는 100% 함수형 패러다임을 지향할 수는 없어보이는 구조이다. 다만 필자가 사용하고 있는 부분 중에서 예를 들어보자면, 최초 ViewDidLoad에서 실행되는 함수를 나열 하고 있는데, 이걸 배열 형식으로 구현하여, A Type일때는 5개의 함수만 B Type일때는