애플이 제공하고, 가장 많이 이용하는 mac, ios에서 사용하는 프로그램, 앱을 만들기 위해서는
애플이 개발한 Swift언어를 알아야 합니다.
ios 앱 개발을 위해 기반 언어인 Swift의 기본 데이터 타입을 정리해 보겠습니다.
데이터 타입은 기본적으로 대문자 카멜케이스(upper camel case)를 이용합니다.
1. Any, AnyObject, nil
Any는 Swift의 모든 데이터 타입을 사용할 수 있다는 뜻입니다.
변수 또는 상수의 데이터 타입이 Any로 지정되어 있다면 어떤 종류의 데이터 타입이든
상관없이 할당할 수 있습니다.
var someVar: Any = "LEE"
someVar = 50
someVar = 100.1
위와 같이 정수, 실수 모두 정할 수 있습니다.
nil은 특정 타입이 아닌 타입이 없다는 뜻입니다.
따라서 변수 또는 상수에 값이 없는 경우 nil을 사용하면 런 타임오류(잘못된 메모리 접근)가 발생합니다.
없는 것 또한 없다라는 값이 있는 것이기 때문입니다.
2. 데이터 타입 안심
Swift는 데이터 타입을 안심하고 사용할 수 있는 언어입니다.
즉 Int타입에 Charcter을 할당하면 오류로 잡아줍니다.
이렇게 컴파일 시 타입을 확인하는 것을 Swift의 타입 확인이라고 합니다.
3. 타입추론
Swift는 타입을 정하지 않아도 할당 값에 따라 적절한 타입을 정합니다.
var name = "LEE"
name = 100
print(name)
위에서는 값이 LEE이므로 타입추론을 통해 String로 정해졌으므로 Int인 100을 넣으면
오류가 발생합니다.
4. 타입 별칭
Swift는 데이터 타입에 별칭을 붙일 수 있습니다.
typealias명령어를 통해 구현할 수 있습니다.
typealias MyInt = Int
typealias MyDouble = Double
var test1: MyInt = 100
var test2: MyDouble = 1.11
print(test1)
print(test2)
이렇게 별칭을 붙여도 이름만 하나 더 있는것이기 때문에
MyInt와 Int는 같은 타입으로 취급합니다.
5. 튜플
튜플은 사용자가 지정하여 만드는 사용자 지정 타입입니다.
이는 일정 타입의 나열로 튜플 타입을 생성해 줄 수 있습니다.
var person: (String, Int, Double) = ("LEE", 10, 1.1)
print("이름: \(person.0), 나이: \(person.1), 신장\(person.2)")
person.1 = 20
print("이름: \(person.0), 나이: \(person.1), 신장\(person.2)")
위와 같이 여러 개의 타입을 나열하고, 튜플.순서 를 사용하여 값을 풀력하거나 새로 정의할 수 있습니다.
var person2: ( name: String, age: Int) = ("LEE", 20)
print("이름: \(person2.name) 나이: \(person2.age)")
위 처럼 튜플 내 타입마다 이름을 설정할 수 도 있습니다.
typealias PersonTuple = (name: String, age: Int, height: Double)
var person:PersonTuple = ("LEE", 20, 181.1)
print("이름: \(person.name), 나이: \(person.age), 키: \(person.height)")
튜플 또한 별칭을 지정할 수 있습니다.
'Swift' 카테고리의 다른 글
Swift 4. Swift의 데이터 타입 고급(2) 배열, 딕셔너리 (0) | 2023.06.20 |
---|---|
Swift 2. Swift의 데이터 타입. (0) | 2023.06.15 |
Swift 1. Swift의 기본 (1). (0) | 2023.06.12 |