컬렉션 타입이란? (Collection Type)
- 데이터들의 집합 이라 할 수 있습니다.
- 지정된 (데이터)타입을 하나로 묶은 형태입니다.
지정된 타입이라고 하는 이유는 Swift에서는 컬렉션 타입들이 모두 제네릭 컬렉션(Generic Collection)으로 구현되어 있기 때문입니다.
- Swift에는 세 가지 컬렉션 타입이 있습니다.
- 배열(Array)
- 세트(set)
- 딕셔너리(Dictionary)

배열 (Array)
- 같은 데이터 타입의 값들을 순서대로 저장하는 리스트 입니다.
식당의 대기명단을 떠올려 보겠습니다. 대기자 순서대로 번호와 이름을 적습니다.
- 배열은 똑같은 값(중복 값) 을 저장할 수 있습니다. 순서가 정해져 있어서 구분할 수 있기 때문입니다.
대기명단에서 이름이 같아도 대기번호가 있기 때문에 구분할 수 있는것과 같습니다.

마지막 줄에 ["배열이", "배열이"] 라고 쓰면 셋째 다시 나옵니다.
대기명단에 번호만 쓰고 이름을 안쓰면 밥을 못먹습니다.
** .isEmpty를 모르신다면..
https://0urtrees.tistory.com/121

세트 (Set)
- 같은 데이터 타입의 값들을 순서없이 저장하는 리스트 입니다.
순서가 없기 때문에 서로 같은 값들을 구분할 수 없습니다. (중복 값은 허용X)
순서가 중요하지않거나, 세트에 저장된 각 값들이 유일한 값일 때 사용합니다.
로또 번호가 적힌 공들을 담아 놓은통을 떠올려 보겠습니다.
공들은 순서가 없이 담겨있고, 중복된 숫자또한 없습니다.
- 집합의 연산이 가능합니다.
밑의 두장의 캡쳐본을 2분만 쳐다보면 이해됩니다.


** Swift의 타입추론 기능을 이용해서 var 변수명 = ["값1", "값2"] 의 형태로 사용하면 배열로 인식합니다. 그래서 세트(Set)는 축약형이 없습니다.

딕셔너리 (Dictionary)
- 중복되지 않는 고유값을 가진
키(Key) - 값(Value)한 쌍으로 데이터를 저장하는 컬렉션 타입입니다.
영한사전을 떠올려보겠습니다. Apple(Key)을 입력, 사과(Value)가 나옵니다.
Apple을 입력했다고 밥이라는 뜻이 나오진 않습니다.

참고자료
https://noahlogs.tistory.com/14
https://docs.swift.org/swift-book/LanguageGuide/CollectionTypes.html