Any : Swift의 모든 타입을 지칭하는 키워드
AnyObject : 모든 클래스 타입을 지칭하는 프로토콜
nil : '없음'을 의미하는 키워드 (null)
1. Any
Swift의 모든 타입을 지칭하는 키워드
var someAny: Any = 100
someAny = "어떤 타입도 모두 수용이 가능하다"
someAny = 123.12
다만 이렇게 사용하는 경우에는 컴파일 오류가 발생한다
let someDouble: Double = someAny // 컴파일 오류발생
→ Any 타입에 Double 자료를 넣어두었더라도 Any는 Double 타입이 아니기 때문에 할당할 수 없다
위와 같이 사용하려면 someAny의 타입을 명시적으로 변환해줘야 한다! (타입 변환은 차후에 다룰 것)
2. AnyObject
모든 클래스 타입을 지칭하는 프로토콜
class SomeClass
{
// 내용
}
var someAnyObject: AnyObject = someClass()
다만 이렇게 사용하는 경우에는 오류가 발생한다
someAnyObject = 123.12 // 컴파일 오류 발생
→ AnyObject는 클래스의 인스턴스만 수용 가능하기 때문에 클래스의 인스턴스가 아니면 할당할 수 없다!
3. nil
없음을 의미하는 키워드로, 다른 언어들의 NULL, Null, null 등과 유사한 표현이다
var someAny: Any = 100
var someAnyObject: AnyObject = SomeClass()
nil을 다루는 방법은 옵셔널에서 자세히 설명한다! 지금은 일반적으로 사용할 수 없다는 것만 알아두자
someAny = nil // 컴파일 오류 발생
someAnyObject = nil // 컴파일 오류 발생
정리
- Any : Swift의 모든 타입을 지칭하는 키워드로, 모든 타입을 수용할 수 있지만 다른 타입에 할당할 수는 없다
- AnyObject : 모든 클래스 타입을 지칭하는 프로토콜로, 클래스의 인스턴스만 수용한다
- nil : '없음'을 의미하는 키워드로, NULL, Null, null 등과 유사한 표현이며 일반적인 타입에 할당할 수 없다
2022.02.23 - [Study/Swift_BoostCourse_Basic] - iOS 프로그래밍을 위한 스위프트 기초
'[Non-Updated] iOS > Swift_BoostCourse_Basic' 카테고리의 다른 글
[Swift_BoostCourse_Basic] CH 1_07. 함수 기본 (0) | 2022.02.24 |
---|---|
[Swift_BoostCourse_Basic] CH 1_06. 컬렉션 타입(Array, Dictionary, Set) (0) | 2022.02.24 |
[Swift_BoostCourse_Basic] CH 1_04. 기본 데이터 타입 (0) | 2022.02.23 |
[Swift_BoostCourse_Basic] CH 1_03. 상수와 변수 (0) | 2022.02.23 |
[Swift_BoostCourse_Basic] CH 1_02. 명명법 / 콘솔로그 / 문자열 보간법 (0) | 2022.02.23 |