으니의 개발로그

[Swift] 데이터 타입 고급(1) - 타입 별칭, 튜플 본문

Swift/책 정리

[Swift] 데이터 타입 고급(1) - 타입 별칭, 튜플

아잉으니야 2021. 1. 7. 21:00

[Swift] 데이터 타입 고급(1) - 타입 별칭, 튜플

이 글은 Swift 프로그래밍 책을 읽고 요약한 내용입니다

 

타입 별칭

  • 스위프트에서는 기본으로 제공하는 데이터 타입이든, 사용자가 임의로 만든 데이터 타입이든 이미 존재하는 데이터 타입에 임의로 다른 이름(별칭)을 부여할 수 있음 (기본 타입 이름과 이후에 추가한 별칭 모두 사용 가능)
typealias MyInt = Int
typealias YourInt = Int
typealias MyDouble = Double

let age: MyInt = 100    // MyInt는 Int의 또 다른 이름
var year: YourInt = 2080    // YourInt도 Int의 또 다른 이름

// MyInt도, YourInt도 Int이기 때문에 같은 타입으로 취급
year = age

let month: Int = 7      // 기존의 Int도 사용 가능
let percentage: MyDouble = 99.9     // Int 외에 다른 자료형도 모두 별칭 사용이 가능

튜플(Tuple)

튜플(Tuple) : 타입의 이름이 따로 지정되어 있지 않은 프로그래머 마음대로 만드는 타입

'지정된 데이터의 묶음'이라고도 표현함

  • 파이썬의 튜플과 유사
  • 튜플은 타입 이름이 따로 없으므로 일정 타입의 나열만으로 튜플 타입을 생성해줄 수 있음
  • 튜플에 포함될 데이터의 개수는 자유롭게 정할 수 있음
// String, Int, Double 타입을 갖는 튜플
var person: (String, Int, Double) = ("seonho", 36, 183.5)

// 인덱스를 통해서 값을 빼 올 수 있음
print("이름: \(person.0), 나이: \(person.1), 신장: \(person.2)")
/* 이름: seonho, 나이: 36, 신장: 183.5 */

person.1 = 99   // 인덱스를 통해 값을 할당할 수 있음
person.2 = 178.5

print("이름: \(person.0), 나이: \(person.1), 신장: \(person.2)")
/* 이름: seonho, 나이: 99, 신장: 178.5 */
  • 튜플의 요소마다 이름을 붙여줄 수 있음
// String, Int, Double 타입을 갖는 튜플
var person: (name: String, age: Int, height: Double) = ("seonho", 36, 183.5)

// 요소 이름을 통해서 값을 빼 올 수 있음
print("이름: \(person.name), 나이: \(person.age), 신장: \(person.height)")
/* 이름: seonho, 나이: 36, 신장: 183.5 */
person.age = 99        // 요소 이름을 통해 값을 할당할 수 있음
person.2 = 178.5    // 인덱스를 통해서도 값을 할당할 수 있음

// 기존처럼 인덱스를 이용하여 값을 빼 올 수도 있음
print("이름: \(person.0), 나이: \(person.1), 신장: \(person.2)")
/* 이름: seonho, 나이: 99, 신장: 178.5 */