본문 바로가기
컴퓨터 공학/Swift

스위프트(swift)가 지향하는 프로그래밍 패러다임은?

by hahehohoo 2020. 9. 29.
반응형

스위프트(swift)가 지향하는 프로그래밍 패러다임은?

스위프트(swift)가 지향하는 프로그래밍 패러다임은?

애플은 자사 제품 개발에 활용하고자 새 프로그래밍 언어인 스위프트를 만들었습니다. 2014년 9월 정식 발표된 이후 현재까지 계속 발전하고 있습니다. 지금 스위프트를 오픈소스로 공유하므로 다양한 플랫폼에서 사용할 수 있게 되었습니다. 프로그래밍 언어 스위프트는 다음과 같은 특징이 있습니다. 

 

- ARC(Automatic Reference Counting, 자동 참조 카운팅)를 지원

- Objective-C의 동적 객체 모델과 매개변수 형식 도입

- 컴파일 언어

 

또한, 스위프트는 다중 패러다임 프로그래밍 언어입니다. 크게 보면 다음과 같은 프로그래밍 패러다임을 차용했습니다. 

 

- 명령형 프로그래밍 패러다임

- 객체지향 프로그래밍 패러다임

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

- 프로토콜 프로그래밍 패러다임

 

정확하게는 명령형과 객체지향 기반으로 한 함수형, 프로토콜 프로그래밍 패러다임을 지향합니다. 

 

사실 각각의 프로그래밍 패러다임 자체를 정의하고, 각 언어에 어떤 프로그래밍 패러다임이 있는지 정확히 말하기 쉽지 않습니다. 하지만 애플이 스위프트를 공개하며 발표한 내용을 살펴보면 스위프트는 분명 객체지향, 함수형 프로그래밍 패러다임을 모두 차용하고 있습니다. 

 

애플의 프레임워크 대부분은 객체지향 프로그래밍 패러다임을 기반으로 설계된 수많은 클래스로 구성되어 있습니다. 따라서 애플의 프레임워크에서 사용될 언어라면 객체지향 프로그래밍 패러다임을 수용해야 할 것입니다. 

 

또, 스위프트에서는 함수형 프로그래밍 패러다임을 강조합니다. 이는 애플의 프레임워크를 벗어나 다른 영역에서 스위프트를 사용했을 때 순수하게 함수형 프로그래밍 패러다임만으로 프로그램을 작성할 수 있기 때문입니다. 

 

따라서 적절하게 객체지향과 함수형 프로그래밍 패러다임을 섞어 프로그램을 작성한다면 필요한 기능에 맞게 최적의 성능을 발휘하고, 생산성도 극대화할 수 있을 것입니다. 

 

 

 

 

 

--------------------------------------

스위프트 문법 총정리 보러가기 

--------------------------------------

 

 

반응형


댓글