티스토리 뷰

반응형

 

 


Colletion Types
컬렉션 타입

Swift는 기본적으로 3개의 원시 컬렉션 타입을 갖고 있습니다. 이들은 값들을 다양한 목적에 따라 저장하고 관리하는데 사용됩니다. 

해당 컬렉션들은 Array, Set, Dictionary 등으로 모두 Swift Standard Library에 속해있습니다


스위프트의 기본적인 세가지 컬렉션 타입에 대해서 각 한줄로 정의해보자면, 아래와 같습니다.

- 배열(Array)는 정렬된 값들의 컬렉션입니다.

- 셋(Set)은 중복되지 않은 고유값들을 지닌 비정렬 컬렉션입니다.
- 딕셔너리(Dictionary)는 중복되지 않은 고유값들을 가지 Key-Value 타입, Hash타입의 컬렉션입니다. 

 

 


위의 이미지는 Array, Set, Dictionary 세가지 컬렉션의 데이터 저장 방식을 단적으로 보여줍니다.

스위프트에서 기본적으로 지원하는 Array, Set, Dictionary는 내부적으로 저장한 값들에 대한 명확한 타입을 갖습니다. 그 의미는 실수에 의해 컬렉션에 잘못된 타입의 값을 넣을 수 없다는 것을 의미합니다. 이는 즉 컬렉션으로 부터 어떠한 값을 갖게 될 때 타입에 관해서 신뢰성을 보장할 수 있다는 것을 의미하는 것입니다. 🤗

NOTE
스위프트의 배열, 셋, 딕셔너리 타입들은 모두 제네릭(Generic) 컬렉션입니다. 제네릭 타입에 대한 내용이 궁금하시다면, 스위프트 공식문서에서 Gerneric 을 찾아보세요. 👨🏻‍💻

 

 


Mutability of Collections
컬렉션의 변경가능성

만약 Array, Set, Dictionary 등의 컬렉션들을 변형가능한, 변수(var, variable)로서 사용한다면, 해당 컬렉션들은 변형가능한 컬렉션이 됩니다. 이는 컬렉션이 만들어진 이후로 값이 추가되고 / 제거되고 / 변경되는 것이 가능하다는 의미입니다.

그와 반대로 만약 변경이 되지않는 상수타입의 컬렉션을 생성하고 싶다면, 컬렉션 변수 명 앞에 var 키워드 대신 let을 선언해서 변경되지 않도록 사용할 수도 있습니다. 이처럼 컬렉션은 상황과 목적에 따라 변수타입, 상수타입 중에 선택해서 사용할 수 있습니다.

변경할 필요가 없는 컬렉션이 필요한 경우, 컬렉션을 변경할 수 없는(immutable) 상수로서 선언해서 사용하는 것은 좋은 방법이 됩니다. 이러한 상황에 맞는 상수 / 변수 선택은 스위프트 컴파일러가 컬렉션의 성능을 최적화 하는데에 있어 도움을 줄 수 있습니다.

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함