728x90
728x90
Swift는 강력한 타입 시스템을 갖추고 있어, 개발자가 코드의 안전성과 가독성을 높일 수 있도록 도와줍니다. 이번에는 Swift에서 자주 사용되는 기본 데이터 타입인 Int, Double, Float, String, Bool, Character, Array, Dictionary, Set에 대해 자세히 알아보겠습니다.
숫자형 데이터 타입
- Int: 정수를 표현하는 타입입니다. 시스템 아키텍처에 따라 32비트 또는 64비트 정수를 나타냅니다.
- Double: 64비트 부동소수점 숫자를 표현하는 타입입니다. 정밀도가 높아 과학 계산이나 정밀한 값을 다룰 때 유용합니다.
- Float: 32비트 부동소수점 숫자를 표현하는 타입입니다. Double보다 정밀도는 낮지만 메모리를 적게 사용합니다.
let age: Int = 30
let pi: Double = 3.14159
let radius: Float = 2.5
문자형 데이터 타입
- String: 문자열을 표현하는 타입입니다.
- Character: 단일 문자를 표현하는 타입입니다.
let name: String = "Swift"
let firstLetter: Character = "S"
논리형 데이터 타입
- Bool: 논리값(true 또는 false)을 표현하는 타입입니다. 조건문이나 반복문에서 많이 사용됩니다.
let isSwiftFun: Bool = true
컬렉션 타입
- Array: 순서가 있는 값들의 집합을 나타내는 타입입니다. 배열이라고도 합니다.
- Dictionary: 키-값 쌍으로 구성된 데이터를 저장하는 타입입니다. 사전과 같이 키를 통해 값에 접근할 수 있습니다.
- Set: 중복되지 않는 값들의 집합을 나타내는 타입입니다. 수학적인 집합과 유사합니다.
let numbers: [Int] = [1, 2, 3, 4, 5]
let person: [String: String] = ["name": "John", "age": "30"]
let uniqueNumbers: Set<Int> = [1, 2, 3, 2, 1] // 중복된 값은 한 번만 저장
각 데이터 타입의 주요 연산
- 숫자: 사칙연산, 비교 연산 등
- 문자열: 연결, 검색, 자르기 등
- 배열: 요소 추가, 삭제, 수정, 검색 등
- 딕셔너리: 키를 이용한 값 조회, 추가, 삭제, 수정 등
- 셋: 요소 추가, 삭제, 포함 여부 확인 등
데이터 타입 변환
Swift는 타입 추론 기능이 뛰어나지만, 필요에 따라 명시적으로 타입을 변환할 수 있습니다. 하지만 타입이 안전한 언어이므로, 모든 타입을 임의로 변환할 수 있는 것은 아닙니다.
let integerValue: Int = 42
let doubleValue: Double = Double(integerValue) // Int를 Double로 변환
옵셔널 (Optional)
Swift의 가장 강력한 기능 중 하나인 옵셔널은 값이 있을 수도 있고 없을 수도 있는 경우를 나타냅니다. 옵셔널을 사용하면 nil 값으로 인한 예외를 미리 방지하고 코드의 안전성을 높일 수 있습니다.
var optionalString: String? = "Hello"
optionalString = nil
결론
Swift의 데이터 타입은 다양한 종류와 강력한 기능을 제공하여 개발자가 안전하고 효율적인 코드를 작성할 수 있도록 돕습니다. 각 데이터 타입의 특징과 용도를 잘 이해하고 활용하면 더욱 효과적인 Swift 개발이 가능합니다.
728x90
728x90
'IOS개발: SWIFT > 2. 기본 문법 마스터' 카테고리의 다른 글
Swift 선택적 바인딩 (Optional Binding): if let, guard let, nil 합병 연산자 (0) | 2024.09.12 |
---|---|
Swift 제어 흐름: if, else, switch, for, while, repeat-while (0) | 2024.09.12 |
Swift 연산자: 산술 연산자, 비교 연산자, 논리 연산자, 할당 연산자, 복합 할당 연산자 (0) | 2024.09.12 |
Swift 변수와 상수: var, let 키워드, 타입 추론, 형 변환 (0) | 2024.09.12 |