- 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형
* 타입을 명시하지 않고 변수나 상수를 선언할 때는, 타입의 비트크기가 더 큰 타입을 기본으로 지정.
'Swift' 카테고리의 다른 글
[스위프트 기초] 6. 함수 기본 (0) | 2022.05.21 |
---|---|
[스위프트 기초] 5. 컬렉션타입(Array, Dictionary, Set) (0) | 2022.05.21 |
[스위프트 기초] 4. Any, AnyObject, nil (0) | 2022.05.21 |
[스위프트 기초] 2. 상수와 변수 (0) | 2022.05.18 |
[스위프트 기초] 1. 명명법 / 콘솔로그 / 문자열 보간법 (0) | 2022.05.18 |