Swift

[스위프트 기초] 3. 기본 데이터 타입

microsaurs 2022. 5. 21. 17:17

- Swift는 자료형(데이터 타입)에 매우 엄격한 언어 

- 다른 데이터 타입 간의 자료형 교환이 어렵다

: 암시적으로 이루어지는 데이터 타입의 변형이 예기치 못한 결과를 일으킬 수 있기 때문에 그것을 방지하고자 이렇게 설계

 

 

1. Bool

- true와 false만을 값으로 가지는 타입

ex.

someBool: Bool = true

someBool = false

* Swift 에서 다른 언어처럼 Bool타입에 0,1을 넣는 것은 오류를 야기함.

   => 0,1은 정수 값으로 인식

 

2.Int 정수

- 정수형 타입 (64bit) 양수, 0, 음수 포함

 

3. UInt (Unsigned Int) 양의 정수

양의 정수만 저장한느 데이터 타입 (음수를 넣으면 오류)

* int 값을 넣어도 오류

ex.

var someUInt: UInt 

var someInt: Int

someUInt = someInt // 오류 발생 

 

4. float 실수

실수 타입 (32bit 부동소수형)

정수를 넣어도 무리 없이 받아들임

 

5. double 실수

실수 타입 (64bit 부동소수형)

마찬가지로 정수 넣어도 무리 없이 받아들임

* float 값을 넣으면 오류

ex.

var someDouble: Double

var someFloat: Float

someDouble = someFloat // 오류 발생

 

6. Character 문자

유니코드 형식이기 때문에 어떤 문자를 넣어도 출력 가능

"" 큰따옴표를 사용해서 표현

문자이기 때문에 한 글자만 가능, 단어 등 여러 글자가 합쳐진 것을 입력하면 오류 발생

 

7. String 문자열

유니코드 형식, 문자를 여러 개 붙여놓은 문자열 타입

마찬가지로 String타입에 Character타입 대입하면 오류

 

 

 * Swift에서는 암시적인 데이터 타입 변환은 불가능하다고 생각하기! 

 

 

8. 생각해보기

 

다음 코드에서 integer,floatingPoint, apple 상수는 각각 어떤 타입이 될까요?

1. int형

2. float형

3. character형, string형

* 타입을 명시하지 않고 변수나 상수를 선언할 때는, 타입의 비트크기가 더 큰 타입을 기본으로 지정.