메모장

Swift 기본 자료형 2

Sheep1sik 2023. 3. 6. 10:40
반응형

이어서 나오는 자료형 2탄 

이전 글을 안 보고 왔으면 보고 오는걸 추천 !!

 

Swift 기본 자료형 1

스위프트에서는 타입을 정의하는 데 사용할 수 있는 몇 가지 자료형을 미리 제공한다. 오늘은 스위프트의 기본 자료형에 대해 정리해 볼 것이다 1. Int Int는 정수를 뜻하는 Integer라는 영어 단어의

sheep1sik.tistory.com


1. Double & Float

프로그래밍을 하다 보면 소수점이 포함된 실수 값을 저장해야 하는 경우가 많다.

거리, 기온, 환율, 키, 몸무게 등 수 많은 종류의 데이터가 정수가 아닌 실수 값을 요구하는데, 이때 사용할 수 있는 자료형이 Double타입과 Float타입이다.

 

둘 다 실수값을 저장할 수 있는 자료형이라는 공통점이 있지만, Double 타입은 64bit 부동 소수점 자료형으로서 32bit 부동 소수점 자료형인 Float타입보다 더 넒은 범위의 소수점 아래 값을 저장할 수 있기 때문에, 매우 정확해야 하는 부동소수점 값이나 또는 매우 넓은 범위의 실수값을 저장할때 사용된다.

 

일반적으로 Float 타입이 소수점 아래 7~8자리까지의 값을 정확하게 저장할 수 있는 반면 Double타입은 소수점 아래 15~16자리의 값에 대한 정확도를 보장하기 때문에 훨씬 더 세밀한 값을 저장하는 데에 유리하다.

📝 당연히 메모리에서 차지하는 크기도 Double 타입이 크겠지?

 

스위프트에는 Float 타입의 서브 자료형으로 사용되는 Float32와 Float64가 있는데, 이 둘은 실제로 존재하는 객체가 아니라 *타입엘리어스(typealias)에 의해 정의된 타입이다.

 

📝 타입엘리어스란?

타입을 가리키는 표현만 달리하라는 것을 의미

 

// A 32-bit floating point type
typealias Float32 = Float

// A 64-bit floating point type
typealias Float64 = Double

두 타입을 정의하고 있는 구문을 살펴보면 정의된 Float32는 Float지만, Float64는 Double이다.

간단하게 32bit 실수는 Float로 처리하고, 64bit 실수는 Double로 처리한다라는 의미로 해석할 수 있다.


2. Bool

Bool은 true / false 두 가지 종류의 값만 가질 수 있는 자료형으로써 주로 논리값을 저장하기 위해 사용된다.

참/거짓, 성공/실패, On/Off 등 두 가지 상태만 존재하는 데이터에 사용되며, 조건문의 결과를 표현하는 데에도 많이 사용된다.

 

// Bool 타입 저장변수
var close = true

// Bool 타입 저장상수
let success = true
let fail = false

3. String

String 타입은 Int와 더불어 프로그래밍에서 가장 많이 사용되는 자료형으로, "ABC", "가나다", "아야어여오요" 처럼 문자열을 저장할 때 사용된다. 기존 오브젝티브-C를 사용했던 사람이라면 *NSString이라는 객체에 익숙할텐데, 프레임워크 레벨에서 제공하는 객체이니만큼 import Foundation이라는 구문을 통해 프레임워크를 반입한 다음에야 사용할 수 있다. 하지만 String 타입은 스위프트 언어에서 제공하는 기본 자료형이므로 프레임워크 반입 없이도 사용할 수 있다.

📝 NSString 객체란?

오브젝티브-C 언어용 String 타입

파운데이션 프레임워크에서 문자열을 쉽게 다루기 위해 제공하는 클래스

 

스위프트는 String 타입 데이터의 값을 표현할 때 큰따옴표를 사용한다.

// String 타입 저장변수
var projectname = "Sheep1sik"

// String 타입 저장상수
let language = "Swift"

4. Character

String은 여러 글자로 이루어진 문자열을 저장할 수 있는 일종의 집단 자료형이지만, Character는 한 개의 문자를 저장할 수 있는 단일 자료형이다. String 타입에 저장된 문자열을 하나씩 분해하면 Character 타입이 된다.

 

알기쉽게 그림으로 알아보자.

String과 Charater의 관계

📝 그림 만드는거 보면 PPT 마스터..😆

 

스위프트는 Character 타입의 데이터 값을 표현할 때도 String 타입과 마찬가지로 큰 따옴표를 사용한다.

// Character 타입 저장변수
var firstLetter : Character = "s"

// Character 타입 저장상수
let lastLetter : Character = "t"

📝 선언 뒤에 :Character라는걸 볼 수 있는데, 이게 무엇을 의미하는지는 다음편 타입 추론과 타입 어노테이션에서 공부하고 정리할테니 그때 알아보자

반응형