본문 바로가기
iOS/Swift

Swift 자료형(Data Types)

by Dev.Andy 2023. 3. 24.

머리말

들어가기 전에

이전 포스팅 - 상수와 변수(Constants and Variables)

저번 포스팅에서는 Swift의 상수와 변수에 대해 알아 보았다.

이번 포스팅

이번에는 Swift의 다양한 자료형에 대해 알아 보자. 각 자료형의 특징을 살펴 보고 어떠한 문법으로 작성해야 하는지 알아 보자.

자료형(Data types)

자료형은 변수(혹은 상수)를 담는 '그릇'이라 할 수 있다.

자료형은 변수를 담는 '그릇'이다
자료형은 변수를 담는 '그릇'이다

같은 음식이라도 어떤 그릇에 담냐에 따라 그 형태가 달라지듯이,

같은 데이터라도 어떠한 자료형에 담냐에 따라 그 값이 달라진다.

 

자료형의 종류

1. 정수(Integers)

1-1.  Int - 64비트 정수


  
var MtHallaSeaLevel: Int = 1950
print("MtHallaSeaLevel: \(MtHallaSeaLevel)") // MtHallaSeaLevel: 1950
print(type(of: MtHallaSeaLevel)) // Int

1-2. UInt - 64비트 양의 정수


  
var worldPopulation: UInt = 8000000000
print("worldPopulation: \(worldPopulation)") // worldPopulation: 8000000000
print(type(of: worldPopulation)) // UInt

2. 부동 소수점 숫자(Float-Point Numbers)

Float는 소수점 6번째 자리까지의 정확도를 가진 것에 비해,

Double은 소수점 15번째 자리까지의 정확도를 가진다.

2-1. Float - 32비트 부동 소수점 숫자


  
var piFloat: Float = 3.1415
print("piFloat: \(piFloat)") // piFloat: 3.1415
print(type(of: piFloat)) // Float

2-2. Double - 64비트 부동 소수점 숫자


  
var latitudeOfSeoul: Double = 37.532600
print("latitudeOfSeoul: \(latitudeOfSeoul)") // latitudeOfSeoul: 37.5326
print(type(of: latitudeOfSeoul)) // Double

3. 부울(Boolean)

참 또는 거짓을 뜻하는 논리적인 자료형이다.

Swift에서 부울을 나타날 때는 Bool으로 나타낸다.


  
let isAppleRed = true
let isStrawberryBlue = false
print(isAppleRed) // true
print(type(of: isAppleRed)) // Bool
print(isStrawberryBlue) // false
print(type(of: isStrawberryBlue)) // Bool

 

4. 옵셔널(Optionals)

옵셔널의 2가지 경우

값(value)이 모호할 때 옵셔널(optionals)을 사용한다. 옵셔널에는 2가지의 경우가 있다.

  1. 값이 있는 경우. 이 때는 옵셔널을 언래핑(unwrap; 강제 해제)하여 그 값에 접근할 수 있다.
  2. 아예 값이 없는 경우.

  
var thisYear = "2023"
var convertThisYearToInt = Int(thisYear) // 타입 변환 시 옵셔널 타입으로 변환된다.
print(thisYear) // 2023
print(type (of: thisYear)) // String
print(convertThisYearToInt) // Optional(2023)
print(type (of: convertThisYearToInt)) // Optional<Int>

옵셔널은 열거형이다? ⭐️

2023-12-27 (수) 추가

옵셔널은 사실 열거형이다. 자세한 내용은 아래 링크 참고.

Swift) 값이 없는 듯 있는 nil의 정체 (feat. 옵셔널은 열거형이다)

4+. nil

위의 옵셔널 변수를 설정하여 따로 할당하지 않은 채 선언하면, nil이라는 특수한 값을 할당 받는다.

nil은 값이 없는 상태를 의미한다.

  
var statusCode: Int?
print(statusCode) // nil

댓글