swift에서는 서로 관련이 있는 데이터끼리 모아서 관리할 수 있도록 집단 자료형(Collective Types)을 제공함
특징과 성격에 따라 네가지로 보통 분류함
1) 배열 (Array)
- 일련번호로 구분되는 순서에 따라 데이터가 정렬된 목록 형태의 자료형
- 어떤 타입의 데이터라도 모두 저장가능
- 데이터 타입이 동일해야 함
2) 집합 (Set)
- 중복되지 않은 유일 데이터들이 모인 집합 형태의 자료형
- 어떤 타입의 데이터라도 모두 저장가능
- 데이터 타입이 동일해야 함
3) 튜플(Tuple)
- 종류에 상관없이 데이터들을 모은 자료형, 수정 및 삭제를 할 수 없음
- 어떤 타입의 데이터라도 모두 저장가능
- 튜플 내에서 저장되는 데이터들이 모두 달라도 상관없이 저장할 수 있음
4) 딕셔너리(Dictionary)
- 배열과 비슷하나 일련번호대신 키(Key)를 사용
- 키 값으로 연관된 데이터들이 순서 없이 모인 자료형
- 어떤 타입의 데이터라도 모두 저장가능
- 데이터 타입이 동일해야 함
TMI)
objective - C 에서는 파운데이션 프레임워크에서 정의된
NSArray, NSDictionary 등의 유사한 객체들을 이용해서
값의 타입에 상관없이 데이터를 저장할 수 있다.
하지만 swift에서는 집단 자료형은 저장할 값들이 어떤 타입인지 항상 명확하게 정의한 상태로 선언해야함
swift에서 앱 개발시에 파운데이션 프레임워크에서 제공하는 자료형까지 사용함
파운데이션 프레임워크란??
(Foundation Framework)
전에 앱을 만들때 objective - C는 ANSI C의 내용을 모두 포함하고
거기에 스몰토크(smalltalk)의 객체지향 요소 약간을 추가했을 뿐이라서
언어 자체에는 C언어의 데이터 타입과 기본적인 제어문 이외에는 없다고 봐도 무방함
그럼에도 이 언어로 그간 IOS 앱이나 Mac OS X프로그램을 무리없이 개발할 수 있던 이유는
파운데이션 프레임워크가 있었기 때문임
파운데이션 프레임워크로 방대한 라이브러리를 이용할 수 있고, 다양한 객체와 자료형을 사용 할 수 있음
문자열을 다룰때 사용하는 NSString이나 숫자를 다룰 때 사용하는 NSNumber, 인코딩 된 데이터를 다루기 위한 NSData,
배열을 다루기 위한 NSArray,NSMutableArray 등 대부분의 자료형은 모두 파운데이션 프레임워크가 제공해주는 것들임
스위프트에서도 파운데이션 프레임워크를 제한없이 이용가능
'Swift랑 친해지기 > Swift 책보면서 정리해보기' 카테고리의 다른 글
배열 아이템 동적 할당 방법 - 스위프트 (0) | 2022.01.24 |
---|---|
배열정의 및 선언 - 스위프트(swift) (0) | 2022.01.19 |
제어 전달문 (break , continue, fallthrough, return) - 스위프트 (0) | 2022.01.18 |
switch 구문 - 스위프트 (0) | 2022.01.17 |
guard 구문 - 스위프트 (0) | 2022.01.17 |