Swift

[Swift] Any, AnyObject와 nil

💡Any

스위프트의 모든 데이터 타입을 사용할 수 있다는 뜻입니다.

변수 또는 상수의 데이터 타입이 Any로 지정되어 있다면

그 변수 또는 상수에는 어떤 종류의 데이터 타입이든지 상관없이 할당할 수 있습니다.

 

var someAny: Any = "hello"
someAny = 30
someAny = 2.5

let someDouble: Double = someAny // 오류발생
                                 // Any는 Double 타입이 아니므로 할당할 수 없음

 


💡AnyObject

모든 클래스 타입을 지칭하는 프로토콜입니다.

클래스의 인스턴스에만 할당할 수 있습니다.

 

class Person {}

var student: AnyObject = Person()

student = "lucy" // 오류발생
                 // 클래스의 인스턴스가 아니므로 할당할 수 없음

 

Any와 AnyObject는 될 수 있으면 사용하지 않는 편이 좋습니다. 이 둘로 선언된 변수의 값을 가져다 쓰려면 매번 타입 확인 및 변환을 해줘야 하는 불편함이 있을뿐더러 예기치 못한 오류의 위험을 증가시키기 때문에 타입은 될 수 있는 한 명시하는 것이 좋습니다❗️

 


💡nil

'없음'을 나타내는 키워드입니다.

즉, 변수 또는 상수에 값이 들어있지 않고 비어있음을 나타내는 데 사용합니다.

 

자세한 내용은 후에 포스팅 될 옵셔널에서 알아보겠습니다.

 

 

이 글은 Swift 프로그래밍 책을 읽고 내용을 정리하여 작성하였습니다.
728x90

'Swift' 카테고리의 다른 글

[Swift] 컬렉션형 - 배열(Array)  (0) 2020.12.24
[Swift] 튜플(Tuple)  (0) 2020.12.24
[Swift] 데이터 타입  (0) 2020.12.22
[Swift] 변수와 상수  (0) 2020.12.22
[Swift] 문자열 보간법과 주석 작성법  (0) 2020.12.22