[Swift] 스위프트!!

East Silver·2021년 12월 27일
0

특성

  1. Safe(안전성)
  2. Fast(신속성)
  3. Expressive(더 나은 표현성)

패러다임

스위프트는 다중 패러다임 프로그래밍 언어이다. 크게 명령형 프로그래밍 패러다임, 객체지향 프로그래밍 패러다임, 함수형 프로그래밍 패러다임, 프로토콜 지향 프로그래밍 패러다임을 차용했다.

함수형 프로그래밍 패러다임

대규모 병렬처리를 쉽게 한다는 특징이 있고, 상태변화보다는 함수 자체의 응용을 중요하게 여긴다.
그리고 이 함수형 프로그래밍 패러다임의 가장 큰 특징은 함수를 일급 객체(First-class Citizen)으로 다룬다는 것이다.
함수를 호출, 전달, 반환하는 동작만으로도 프로그램 구현이 가능하다는 의미이다

프로토콜 지향 프로그래밍 패러다임

참조 타입의 참조 문제에서 좀 더 자유로워질 수 있고, 다중상속이 불가능한 한계를 뛰어넘을 수 있으며, 더 나은 추상화 메커니즘의 구현이 가능해진다는 것이다.

확실히 프로토콜 익스텐션의 기능은 스위프트의 프로토콜 지향 프로그래밍 기법의 완성을 도왔고, 강력하게 해주었다.

First Class Citizen (1급 객체)

함수가 1등 시민
함수는 어디든 갈 수 있는 권리가 있다

1급 객체가 되기 위한 조건

  1. 인자(Argument)로 전달될 수 있어야 합니다
  2. 함수를 리턴 할 수 있어야 합니다
  3. 변수나 상수에 저장 및 할당을 할 수 있어야 합니다.

=> 즉, 함수를 변수나 상수처럼 사용 할 수 있어야 한다!

profile
IOS programmer가 되고 싶다

0개의 댓글