🦖 Programming/Swift

[Swift] 데이터 타입 / Any , AnyObject, nil

박낑깡이 2022. 10. 23. 18:39

 

 

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 타입으로 선언된 변수에는 어떤 데이터 타입도 들어올 수 있지만,

빈 값은 들어올 수 없다.