seong_hye, the developer

Swift ) 문법정리 - 데이터 타입 본문

IOS

Swift ) 문법정리 - 데이터 타입

seong_hye 2022. 7. 12.
let str = "123"
let number = Int(str) // 123


let str2 = "123.4"
let number2 = Int(str2) // 123 ==> .4 유실됨

컴퓨터는 0과 1, 참과 거짓, 설정됨과 설정되지 않음과 같은 2진수로 행동한다.

인간은 컴퓨터가 아니기에 컴퓨터의 언어인 2진수로 생각하지 않는다. 

인간이 0~9로 된 10진수로 행동하는 것과는 차이가 있다.


데이터 타입은 무엇이고 왜 존재할까?

 컴퓨터와 우리 사이에는 데이터를 얼마 만큼의 크기, 그리고 어떤 형태로 저장할 것인지에 대한 약속이 필요하다.

데이터 타입은 프로그래밍할 때 우리가 이해할 수 있는 형태로 데이터를 처리할 수 있게 해준다.

즉, 이 약속이 바로 데이터 타입인 것이다.

 

Swift에서 사용하는 대표적인 데이터 타입들을 정리해볼 것이다.


Int

- 정수 타입

- 양수, 음수, 0으로 이루어진 부호있는 정수 / 양수,0 으로 이루어진 부호없는 정수로 나뉨

var number: Int = 10

 

Float

- 실수 타입 / 부동 소수점

- 소수점 표현가능 (6자리까지의 정보를 정확하게 저장) / 4바이트

 

Double

- 실수 타입 / 부동 소수점

- 소수점 표현 가능( 15자리까지의 정보를 정확하게 저장) / 8바이트

- Float 타입의 2배의 공간

 

var number1: Float = 3.325
var number2: Double = 1.25367

 

Float와 Double의 차이점은 뭘까?

1. 두 타입은 정밀도에서 차이가 많이 남

2. (지수와 기수를 나눠서) 복잡한 알고리즘으로 저장함

Float와 Double 중 어떤 것을 사용할지는 저장될 값의 크기와
소수점 이하의 값을 얼마나 정확하게 표현해야 하느냐에 따라 결정된다.

 

Bool

- 참/ 거짓을 처리하는 목적의 데이터 타입

- true,false 값

var myFault: Bool = true

 

Character 

- 하나의 문자

- 반드시 쌍따옴표("") 안에 써야함

 

String

- 문자열을 저장

- 반드시 쌍따옴표("")안에 써야함

var char: Character = "A"
var str: String = "Hi"

 


 

스위프트는 데이터 타입이 안전한 프로그래밍 언어에 속한다.

즉, 변수의 데이터 타입이 한번 정해지면

그 변수는 다른 타입의 데이터를 저장하는데 사용될 수 없으며 컴파일 에러가 발생한다.

이런 스위프트의 타입과 관련된 기본 문법을 정리해볼 것이다.

 

타입 주석 /  타입 선언 (Type Annotation)

변수를 선언하면서, 타입도 명확하게 지정하는 방식

변수나 상수 이름 뒤에 콜론(:)을 사용하고 타입을 선언하는 것

선언을 먼저하고 나중에 값을 초기화하는 것도 가능하다.

var name: String = "seong_hye"

var number: Int 	// 1) 변수 선언(타입 선언)
number = 10 	   	// 2) 값을 저장(초기화)

 

타입 추론 (Type Inference)

타입을 명시하지 않고 컴파일러가 타입을 추론하도록 하는 방식

변수 또는 상수가 초기화되는 시점에 할당된 값의 타입이 무엇인지를 판단하여 해당 타입으로 지정함

var name = "seong_hye"
var number = 4

 

타입 안정성 (Type Safety)

위에서 말했듯 스위프트는 데이터 타입을 명확하게 구분하여 사용하는 언어이기에

다른 타입끼리는 계산할 수 없음

var number1: Int = 5
var number2: Double = 2.2
var number3 = number1 + number2 (X)

 

타입 변한(Conversion)

새로운 변수 공간을 선언하여 타입을 변환해서 사용하는 방법

데이터가 변환이 되지 않거나(nil) 데이터가 유실 될 수 있다는 점을 주의해서 사용해야 함

let str = "123"
let number = Int(str) // 123


let str2 = "123.4"
let number2 = Int(str2) // 123 ==> .4 유실됨

참고자료)

https://zrr.kr/qNHN

 

앨런 Swift문법 마스터 스쿨 (온라인 BootCamp - 2개월과정) 강의 - 인프런

Swift문법을 제대로 이해, 활용해보고자 하는 철학을 바탕으로 과정이 설계되었습니다. 코딩에 대해 1도 모르는 비전공자를 시작으로 네카라쿠배에 입사할 수 있는 초고급 수준까지 올리는 것을

www.inflearn.com

 

'IOS' 카테고리의 다른 글

Swift) 문법 정리 - 반복문  (0) 2022.07.12
Swift) 문법 정리 - 조건문  (0) 2022.07.12
Swift) 문법 정리 - 컬렉션 타입 (Collection)  (0) 2022.07.12
Swift) 문법 정리 - 함수  (0) 2022.07.12
Swift) 문법 정리 - 변수와 상수  (0) 2022.07.12
Comments