스위프트란?
- 애플에서 자사의 제품 개발에 활용하고자 제작한 프로그래밍 언어
- 안전을 우선으로 하는 프로그래밍 패턴을 지향
- 옵셔널, 제네릭, 프로토콜, 튜플, 익스텐션 등 지원
- ARC(Automatic Reference Counting, 자동 참조 횟수 계산) 지원
→ 메모리를 쉽게 관리할 수 있음.
- 소괄호(()), 세미콜론(;) 생략 가능 but, 중괄호({}) 생략 불가
스위프트의 언어적 특성
안전성(Safe)
- 스위프트는 안전한 프로그래밍을 지향
- 엄격한 문법을 적용해 실수를 미연에 방지
- 옵셔널, guard 구문, 오류처리, 강력한 타입 통제 등을 사용
신속성(Fast)
- C 언어 수준의 동등한 성능을 일정한 수준으로 유지하는데 초점을 맞춰 개발
- 실행 속도 최적화 및 컴파일러의 지속적 개량
더 나은 표현성(Expressive)
- 현대적이고 세련된 문법 구사 가능
- 계속된 업데이트를 통해 발전할 예정
프로그래밍 패러다임
스위프트는 여러 가지 프로그래밍 패러다임을 차용한 다중 패러다임 프로그래밍 언어이다. 스위프트가 채용한 프로그래밍 패러다임은 다음과 같다.
- 명령형 프로그래밍 패러다임
- 객체지향 프로그래밍 패러다임
- 함수형 프로그래밍 패러다임
- 프로토콜 프로그래밍 지향 패러다임
정확히는 (명령형 + 객체지향) 기반의 함수형 + 프로토콜 지향 이다.
애플은 특히 함수형 프로그래밍 패러다임을 강조한다. 이는 애플의 프레임워크를 벗어나 다른 영역에서 스위프트를 사용했을 때 순수하게 함수형 프로그래밍 패러다임만으로 프로그램을 작성할 수 있기 때문이다.