[스위프트 기초] 4. Any, AnyObject, nil

Seoyoung Lee·2022년 2월 24일
0


2021년 11월 4일에 공부한 내용입니다.

Any, AnyObject, nil은 기본 데이터 타입은 아니다.

  • Any - Swift의 모든 타입을 지칭하는 키워드
  • AnyObject - 모든 클래스 타입을 지칭하는 프로토콜
  • nil - '없음'을 의미하는 키워드

1. Any

  • Swift의 모든 타입을 지칭하는 키워드
var someAny: Any = 100
someAny = "어떤 타입도 수용 가능합니다"
someAny = 123.12

let someDouble: Double = someAny // 불가능. 컴파일 에러

2. AnyObject

  • 모든 클래스 타입을 지칭하는 프로토콜
class SomeClass {}
var someAnyObject: AnyObject = SomeClass()

// AnyObject는 클래스의 인스턴스만 수용 가능하기 때문에 클래스의 인스턴스가 아니면 할당할 수 없습니다.
someAnyObject = 123.12    // 컴파일 오류발생

사실 Swift의 기본 데이터 타입들은 구조체로 되어있다.

3. nil

  • 없음을 의미하는 키워드
  • 다른 언어의 NULL, Null, null 등과 유사한 표현이다.
// someAny는 Any 타입이고, someAnyObject는 AnyObject 타입이기 때문에 nil을 할당할 수 없습니다.
var someAny: Any = 100
var someAnyObject: AnyObject = SomeClass()

// nil을 다루는 방법은 옵셔널 파트에서 다룹니다.
someAny = nil         // 컴파일 오류발생
someAnyObject = nil   // 컴파일 오류발생
  • Any, AnyObject는 어떤 값이든 들어올 수 있다는 뜻이지, 빈 값은 들어올 수 없다.
profile
나의 내일은 파래 🐳

0개의 댓글