-
[Swift] 데이터 타입 - 기본 자료형 (primitive data type)/Swift 2025. 5. 29. 18:50반응형
안녕하세요 아렉스입니다 :> 오늘은 Swift의 기본 자료형에 대해 이야기 하겠습니다.
Swift 에서는 명명된 타입(named type)과 복합 타입(compound type)의 두가지 종류가 있습니다.
## 명명된 타입(named type)
사용자 정의 명명된 타입 / 클래스 / 구조체 / 열거형 / 프로토콜을 포함합니다.
Swift 표준 라이브러리는 배열, 딕셔너리, 그리고 옵셔널 값을 나타내는 타입을 포함하여 일반적으로 사용되는 명명된 타입을 정의합니다.
숫자, 문자, 그리고 문자열을 나타내는 데이터 타입 (Data types) 또한 명명된 타입에 속합니다.
데이터 타입 (Data types) 은 다른 언어에서 일반적으로 기본 또는 원시라고 간주됩니다
기본 자료형으로는 정수와 부동 소수점
정수
Swift는 8, 16, 32, 그리고 64 비트 형태의 부호가 있는(signed) 정수와 부호가 없는(unsigned) 정수를 지원합니다.
8-bit 부호가 없는 정수는 UInt8, 32-bit 부호가 있는 정수는 Int32와 같이 C와 비슷한 네이밍 형태를 가집니다.
Int8 은 부호가 있고 8비트를 이용하여 값을 나타내기 때문에, 표현하는 값의 범위는 -128 ~ 127 까지를 나타냅니다.
UInt8은 부호 없이 8비트를 이용하여 값을 표현하므로, 표현하는 값의 범위는 0 ~ 255 가 됩니다.
Int 타입은 플랫폼의 bit에 따라서 크기가 결정됩니다.
32-bit 플랫폼에서는 Int는 Int32와 같은 크기를 가지고, 64-bit 플랫폼에서는 Int는 Int64와 같은 크기를 가집니다.
## 부동 소수점
부동 소수점 숫자 (Floating-point numbers) 는 3.14159, 0.1, 및 -273.15와 같은 분수 성분을 가진 숫자입니다.
정수 타입의 값 범위보다 더 넓은 범위의 표현이 가능하고 Int 보다 더 크거나 작은 값 저장이 가능합니다.
Double, Float 또한 위에 서술한 정수와 같이 자료형의 크기를 비트 단위에 맞춰서 제공합니다.
Double은 64-bit 부동 소수점 숫자를, Float은 32-bit 부동 소수점 숫자를 표기합니다.
Double 은 최소 15자리의 소수점 정확도를 가지고 있는것에 반해 Float 는 더 적은 6자리의 정확도를 가집니다.
사용할 적절한 부동 소수점 타입은 코드에서 작업해야하는 값의 특성과 범위에 따라 다릅니다. 두 타입 중에는 Double 이 선호됩니다.
각 타입별 크기 정리
아래 코드를 통해 타입의 크기를 알아 볼 수 있습니다.
public enum MemoryLayout<T> : ~BitwiseCopyable, Copyable where T : ~Copyable { public static var size: Int { get } } let size = MemoryLayout<Int>.size // byte 단위 print("size: \(size)")
size(bit) size(byte) Int8, UInt8 8 1 Int16, UInt16 16 2 Int32, UInt32 32 4 Int64, UInt64 64 8 Int, UInt 64 8 Float16 16 2 Float32 32 4 Float64 64 8 Float 32 4 Double 64 8 Bool 8 1 NSString 64 8 String 128 16 https://bbiguduk.gitbook.io/swift/language-reference/types
타입 (Types) | Swift
내장된 타입과 복합 타입을 사용합니다. Swift 에서 명명된 타입과 복합 타입의 두가지 종류가 있습니다. 명명된 타입 (named type) 은 정의될 때 특정 이름을 부여할 수 있는 타입입니다. 명명된 타
bbiguduk.gitbook.io
https://bbiguduk.gitbook.io/swift/language-guide-1/the-basics#integers
기본 (The Basics) | Swift
bbiguduk.gitbook.io
' > Swift' 카테고리의 다른 글
[Swift] Array contains, insert, append (0) 2023.07.27 [Swift] ceil, floor, trunc, round 사용해서 소수점 올림, 내림, 버림, 반올림 처리해보기 (+ abs, fabs) (0) 2023.01.19 개인 노트 (0) 2022.01.22