[Swift] 데이터 타입 / Any , AnyObject, nil
Swift 기초 다지기
기본 데이터 타입 / Any , AnyObject, nil
🎯 기본 데이터 타입
- 스위프트는 다른 데이터 타입 간의 변형이 매우 까다롭기 때문에 반드시 명확한 데이터 타입을 설정해주어야 한다.
1. Bool (true or false)
var someBool: Bool = true
print(someBool)
someBool = false
2. Int (정수형) : 양의 정수, 음의 정수, 0 모두 가능
var someInt: Int = -100
print(someInt)
someInt = 100
print(someInt)
someInt = 0
print(someInt)
* 실수값 입력 시
3. UInt (양의 정수)
var someUInt: UInt = 100
print(someUInt)
4. Float (32비트 부동 소수형)
var someFloat: Float = 3.14
print(someFloat)
5. Double (64비트 부동 소수형)
var someDouble: Double = 3.14
print(someDouble)
someFloat라는 변수와 someDouble이라는 변수에 3.14 라는 같은 값을 할당해주었지만
someDouble과 someFloat은 애초에 다른 데이터 타입으로 선언되어있으므로
Float 자료형인 someFloat를 Double 자료형인 someDouble에 할당할 수 없다.
6. Character (문자 한 개)
var someCharacter1: Character = "🌍"
print(someCharacter1)
var someCharacter2: Character = "가"
print(someCharacter2)
var someCharacter3: Character = "S"
print(someCharacter3)
영어, 한글, 이모지 모두 가능
7. String (문자열)
var someString: String = "하하하 🌝"
someString += "웃으면 복이 와요"
print(someString)
위의 결과와 마찬가지로 String은 Character을 포함하고 있지만,
String으로 할당된 변수에 Character 값을 할당할 수 없다.
🎯 Any, AnyObject, nil
1. Any : 모든 타입을 지칭하는 키워드
import Swift
var someAny: Any = 100
print(someAny)
someAny = "어떤 타입도 수용 가능합니다"
print(someAny)
someAny = 123.12
print(someAny)
하지만 다른 타입으로 할당된 변수에는 any 타입 할당 불가
2. AnyObject : 모든 클래스 타입을 지칭하는 프로토콜
- 클래스의 인스턴스에만 선언 가능
class SomeClass{}
var someAnyObject: AnyObject = SomeClass()
print(someAnyObject)
3. nil : 없음을 의미하는 키워드
- null과 거의 같은 의미로 쓰인다.
- Any타입과 AnyObject 타입으로 선언된 변수에는 어떤 데이터 타입도 들어올 수 있지만,
빈 값은 들어올 수 없다.