본문 바로가기
Programming/Swift

[iOS Swift5] Objective-C를 넘어선 Swift5 언어의 등장

by 개발자 염상진 2023. 12. 26.

Swift 5 언어의 출현

현재 애플의 기기에 들어가는 소프트웨어를 개발하기 위해서는 Swift언어를 사용합니다. 애플 에코시스템에서 개발자가 되기 위해서는 Swift 언어를 익혀야 하는데요, Swift 프로그래밍 언어는 2014년 WWDC에서 공개되면서 2023년 현재 Swift5까지 발전에 발전을 거듭하고 있습니다. 

 

 

 

기존의 소프트웨어 개발에서는 전통적인 프로그래밍 언어인 C를 개량한 Objective-C를 사용했었는데요, 한계와 어려움을 극복하서 2010년 초반 Swift 프로젝트가 가동되었고, 2014년 새롭게 첫 선을 보이게 됩니다. 

 

애플의 스위프트 언어 소개

 

스위프트가 공개되고 난 후 쉬운 언어 문법과 강력한 기능이 더해지면서 애플 생태계에서 개발을 하기 위한 필수 언어로 자리 잡았습니다. 물론 지금도 Objective-C 언어를 사용한 문법을 스위프트 내에서 사용하고는 있지만 대부분의 기능들이 대체되어 자리 잡고 있습니다. 

각 버전의 업데이트가 거듭되면서 2023년 현재 iOS 앱 뿐만 아니라 macOS, iPadOS, watchOS 까지 스위프트를 사용해 개발을 진행하고 있습니다. 또한 공개된지 7년이 넘어가면서 커뮤니티도 어느정도 자리를 잡고 있고, 써드파티 라이브러리들도 출시되면서 애플에서 스위프트 언어는 빼놓을 수 없는 언어가 되었습니다. 

또한 2019년 WWDC에서는 UIKit을 넘어서 SwiftUI를 공개합니다. SwiftUI는 스위프트 언어의 성능을 바탕으로 더 간소화된 방법고 선언적 구문을 사용하는 디자인 프레임워크입니다. 

 

 

 

Swift 5 언어는 뭐가 다를까?

 

No 세미콜론 ;

기존에 사용되었던 Objective-C와 스위프트의 가장 큰 차이점이라면 세미콜론 사용 여부 입니다. 스위프트는 세미콜론을 사용하지 않아도 됩니다. 세미콜론을 붙인다고 컴파일 에러가 나는 건 아니지만 코드 줄 마다 세미콜론을 넣을 필요가 없어 가독성이 높습니다.

타입 안정성

Objective-C의 경우 동적 타입 프로그래밍 언어로 컴파일러가 데이터의 타입을 일일이 검사하지 않습니다. 마치 JavaScript 처럼 말이죠. 이 말은 컴파일 에러가 나지 않는다 하더라도 런타임 에러가 발생할 수 있다는 의미입니다. 스위프트는 타입 안정성을 갖춘 언어입니다. 변수를 선언할 때 타입을 지정해주어야 합니다. 

var name: String = "About Tech"

 

메모리 관리

스위프트 언어는 메모리 관리를 수동으로 할 필요가 없습니다. Automatic Reference Counting(ARC)를 사용해서 개발자가 직접 메모리 단에서 할당 및 해제 작업을 하지 않아도 되기 때문에 안정성이 높습니다. 반면 Objective-C의 경우 retain / release / autorelease를 통해 메모리를 직접 관리합니다.

 

 

함수적 프로그래밍

개인적으로 스위프트의 가장 큰 장점이라고 생각합니다. 함수형 프로그래밍을 제공하기 때문에 고차함수, 클로져 개념을 사용할 수 있습니다. 문법이 더 간소화되고, 가독성을 높일 수 있습니다. 

 

플레이그라운드 지원

애플에서 스위프트 언어를 소개하면서 함께 제공한 서비스가 바로 플레이그라운드 입니다. 언어를 바로 결과물을 테스트 해볼 수 있는 기능 덕분에 프로토타입을 만들어볼 때 아주 유용합니다. 

 

결론

 

스위프트 언어는 애플 개발자 이벤트인 WWDC2014에서 처음 공개되어 현재까지 업데이트가 되고 있는 언어입니다. 쉽게 말해 아이폰 앱을 개발하기 위해서는 스위프트를 먼저 익혀야 합니다. 스위프트를 통해 개발자들은 더 효율적으로 안전한 앱을 개발해서 배포할 수 있게 되었습니다. 

메모리 자동관리, 다양한 플랫폼(iOS, padOS, tvOS, watchOS, macOS) 지원, 현대적인 문법을 지원하면서 기존 개발환경에서 보다 진보화된 모습을 보여주고 있습니다. 

 

 

댓글