[Swift] 0. 스위프트란?

Hoojeong Kim·2021년 9월 6일
1

Swift Base

목록 보기
1/22
post-thumbnail

before to study ...

지난 4개월 간, 해커톤이나 교내 프로젝트로 안드로이드 어플리케이션을 개발했습니다.
덕분에 '앱 개발'에 대한 흥미를 갖게 되었고, 현재 내가 쓰고 있는 아이폰에서 사용할 수 있는 어플리케이션을 구현하고 싶어졌습니다.

이를 위해서 먼저 swift 언어에 대해 공부하고자 합니다.
그래서 올 한 해가 가기 전까지(실패!) swift 기초부터 간단한 iOS 어플리케이션 개발까지의 과정을 기록할 예정입니다!

책은 한빛미디어의 스위프트 프로그래밍 3판을 참고했습니다.


스위프트(Swift)란?

스위프트는 애플의 iOS와 macOS 등 자사 제품 개발에 활용하고자 만든 언어로, 2014년 6월 2일 WWDC에서 처음 소개되었다.

스위프트는 안전을 우선으로 하는 프로그래밍 패턴을 지향하며, 더욱 쉽고 재미있게 프로그래밍할 수 있도록 옵셔널, 제네릭 프로토콜, 튜픙 등의 새로운 기능을 도입했다.

현재 애플은 스위프트를 오픈소스로 공유했기 때문에 다양한 플랫폼에서 해당 언어를 사용할 수 있다.

스위프트는 고차원적인 언어로, ARC(자동 참조 횟수 계산)을 지원해 메모리 관리에 용이하다.

또한 Objective-C의 동적 객체 모델과 매개변수 형식을 도입했으며, 스크립트처럼 빌드-실행 등의 수고가 없이 곧바로 결과를 확인할 수 있다.


스위프트의 특성

애플은 스위프트를 오픈소스로 전환하면서 스위프트 언어의 특징을 Safe, Fase, Expressive 이라고 발표했다.

안전성(Safe)

스위프트는 안전한 프로그래밍을 지향한다. 소프트웨어가 배포되기 전인 개발자가 프로그래밍 도중 저지를 수 있는 실수를 엄격한 문법을 적용함으로써 사전에 방지하고자 한다. 옵셔널이라는 기능과 더불어 guard 구문, 오류처리, 강력한 타입 통제 등을 통해 스위프트는 안전한 프로그래밍을 구현한다.

신속성(Fast)

스위프트는 C언어를 기반으로 한 C, C++, Objective-C와 같은 프로그래밍 언어를 대체하고자 만들어졌다. C언어와 동등한 성능을 유지하는 데 초첨을 맞추어, 실행속도의 최적화뿐만 아니라 컴파일러를 지속적으로 개량해 더 빠른 컴파일 성능을 구현해 나가고 있다.

더 나은 표현성(Expressive))

현재 구현되어 있는 프로그래밍 언어들은 각각 다양한 장단점이 존재한다. 스위프트는 이런 장단점을 참고해 더 사용하기 편하고 보기 좋은 문법을 구현하고자 한다.


이 밖에도 스위프트는 많은 특징이 존재한다.

그 중 프로그래밍 패러다임에 대해 얘기해보자면, 스위프트는 함수형◦프로토콜 지향 프로그래밍 패러다임이다.
기존의 C언어는 명령형 프로그래밍 패러다임을 차용했으며, C++이나 자바 등의 언어는 명령형 프로그래밍 패러다임과 객체지향 프로그래밍 패러다임을 동시에 차용한 다중 프로그래밍 패러다임 언어이다.

스위프트는 여기에 함수형 프로그래밍 패러다임과 프로토콜 지향 프로그래밍 패러다임을 더한 언어라고 할 수 있다.

profile
나 애기 개발자 👶🏻

0개의 댓글