Swift는 iOS, macOS, watchOS, tvOS용 앱 개발을 위한 새로운 프로그래밍 언어입니다. Swift가 새로운 프로그래밍 언어이기는 하지만, C 언어와 Objective-C 언어를 사용하여 개발하는 것과 비교했을 때 많은 점에 있어서 비슷합니다.
Swift는 C 언어와 Objective-C 언어에서 볼 수 있는 모든 기본 타입을 Swift만의 방식으로 제공합니다. 이러한 기본 타입에는 정수(integer)를 위한 Int 타입, 부동소수점 값(floating-point value)을 위한 Double과 Float 타입, 불리언 자료형 값(Boolean values)을 위한 Bool 타입, 문자로 이루어진 데이터를 위한 String 타입이 있습니다. 이와 더불어 Swift는 배열(Array), 집합(Set), 딕셔너리(Dictionary)로 이루어진 세 가지의 주요 컬렉션 타입(collection type)도 제공합니다.
C 언어와 마찬가지로 Swift는 식별할 수 있는 이름(identifying name)을 사용하여 변수(variable)에 값을 저장(store)하거나 참조(refer)합니다. 이러한 변수 중에는 값이 변할 수 없는 경우도 있는데 이를 상수(constant)로 일컬으며, Swift의 상수는 C 언어의 상수보다 훨씬 더 강력한 기능을 지닙니다. Swift로 코드를 작성하는 과정에서 사용하는 값이 변해서는 안 되는 경우에는 코드를 더욱 안전하고 명확하게 작성하기 위한 목적으로 주로 상수를 사용합니다.
이와 더불어 Swift는 Objective-C 언어에서는 제공되지 않는 더욱 발전된 타입인 튜플(tuple)을 제공합니다. 튜플은 여러 값을 하나로 묶어서 사용할 수 있는 기능을 제공합니다. 함수(function)에서 다양한 값을 하나의 형태로 묶어서 반환하고자 한다면 튜플을 사용하면 됩니다.
Swift는 값이 존재하지 않는 경우를 위해 옵셔널 타입(optional type)을 제공합니다. 옵셔널은 'x라는 값이 하나 존재하는 경우' 또는 '값이 전혀 존재하지 않는 경우'를 다룹니다. 이는 Objective-C 언어에서 포인터(pointer)를 통해 nil을 다루는 것과 비슷하지만, Swift가 제공하는 옵셔널은 클래스(class) 타입뿐만 아니라 어떤 타입에도 사용될 수 있습니다. 또한, Objective-C 언어의 nil 포인터보다 더욱 안전하며 다양한 형태로 표현될 수 있고, Swift가 제공하는 강력한 기능 곳곳에서 사용됩니다.
타입 세이프(type safe) 언어인 Swift는 사용자가 코드를 작성하는 과정에서 사용하는 값의 타입에 대해 도움을 제공합니다. 이를테면 Swift의 타입 세이프티 기능은 사용자가 String 타입이 필요한 곳에 Int 타입을 사용하는 것을 방지하거나, 옵셔널 String 타입이 필요한 곳에 실수로 옵셔널이 아닌(non optional) String 타입이 사용되지 않도록 합니다. 이처럼 타입 세이프티 기능은 사용자로 하여금 개발 과정에서 최대한 빨리 오류를 발견하고 수정할 수 있도록 돕습니다.
이 글은 Apple이 제공하는 'The Swift Programming Language 5.2 버전'(https://swift.org)을 번역하였습니다.
'프로그래밍 팁 > Swift' 카테고리의 다른 글
1-6. Swift - 부동소수점(Floating-point numbers) 문법 개념 정리 (0) | 2020.11.04 |
---|---|
1-5. Swift - 정수(Integers) 문법 개념 정리 (0) | 2020.11.03 |
1-4. Swift - 세미콜론(Semicolons) 문법 개념 정리 (0) | 2020.11.01 |
1-3. Swift - 주석(Comments) 문법 개념 정리 (0) | 2020.10.30 |
1-2. Swift - 상수와 변수(Constants and Variables) 문법 개념 정리 (0) | 2020.10.28 |
댓글