Swift 04 : 튜플(Tuple) 그리고 컬렉션 타입 (Collection Types)

튜플? 컬렉션 타입?

컬렉션 타입은 동일한 타입의 여러 개의 값을 하나로 묶어서 처리할수록 하는 데이터 타입을 의미한다.
Swift에서는 배열(Array), 딕셔너리(Dictionary), 세트(Set)가 컬렉션 타입에 해당한다.

반면 튜플(Tuple)은 여러 데이터 타입을 하나로 묶어서 사용할 수 있으며, 컬렉션 타입이 아닌 복합 데이터 타입이다. 데이터를 묶어서 다룬다는 점에서 비슷하게 느껴지나 다르다.

튜플은 주로 함수나 메서드의 반환값으로 여러 값을 리턴할 때 사용하거나 임시적으로 관련 데이터를 묶어서 사용할 때 활용되며
컬렉션 타입은 여러 개의 데이터를 효율적으로 다루고 관리하는 데 사용된다.

튜플 (Tuple)
  • 여러 개의 값들을 순서대로 저장하는 “순서형” 컬렉션 타입.
  • 각각의 요소에 이름을 붙일 수도 있고 이름없이 사용할 수도 있다.
let person = ("John", 30, "Engineer")

print(person.0) // "John"
print(person.1) // 30
print(person.2) // "Engineer"
배열 (Array)
  • 여러 개의 값들을 순서대로 저장하는 “순서형” 컬렉션 타입.
  • 요소들은 인덱스를 통해 접근 가능.
  • 요소들은 같은 데이터 타입이여야 함
var numbers = [1, 2, 3, 4, 5]

numbers.append(6)
print(numbers) // [1, 2, 3, 4, 5, 6]
딕셔너리 (Dictionary)
  • 키(Key) - 값(Value) 의 쌍으로 이루어진 “비순서형” 컬렉션 타입.
  • 각각의 요소들은 키와 값으로 이루어져 있고 키를 사용하여 값을 검색할 수 있다.
var student = ["name": "John", "age": 20, "major": "Computer Science"]

print(student["name"]!) // "John"
세트 (Set)
  • 중복되지 않은 값들을 저장하는 “비순서형” 컬렉션 타입
  • 요소들은 순서가 없고, 중복된 값은 자동으로 제거된다.
var fruits: Set<String> = ["Apple", "Banana", "Orange"]

fruits.insert("Kiwi")
print(fruits) // ["Apple", "Banana", "Orange", "Kiwi"]