[Swift 기초] Any, AnyObject, nil

2022. 2. 17. 23:07Swift 기초 정리

728x90

//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎

 

 

1. Any

  • var someAny: Any = 100
  • Swift의 모든 타입을 지칭하는 키워드
  • var someAny: Any = 100
    someAny = "어떤 타입도 수용 가능"
    someAny = 3.14
    let someDouble: Double = someAny //컴파일 에러
  • 다른 타입에 Any타입을 할당할 수 없다.
    • Cannot convert value of type 'Any' to specified type '~’
  • Any타입에 다른 타입을 할당할 수는 있다.
  • var someAny: Any
    var someDouble: Double = 3.143
    someAny = someDouble
    print(someAny)
    //3.143

 

2. AnyObject

  • var someAnyObject: AnyObject = SomeClass()
  • 모든 클래스 타입을 지칭하는 프로토콜
  • class SomeClass {}
    var someAnyObject: AnyObject = SomeClass()
  • AnyObject는 클래스의 인스턴스만 수용 가능하기 때문에 클래스의 인스턴스가 아니면 할당할 수 없다.
    • someAnyObject = 123.12
    • Type of expression is ambiguous without more context

 

3. nil

  • 없음을 의미하는 키워드
  • 다른 언어의 NULL, Null, null과 유사
  • Any타입과 AnyObject 타입에는 할당할 수 없다.
    • 'nil' cannot be assigned to type 'Any’
    • 'nil' cannot be assigned to type 'AnyObject’
    • 다른 자료형도 동일

 

 

 

 

 

참고하였습니다. 감사합니다.

https://yagom.net/courses/swift-basic/lessons/데이터-타입/topic/any-anyobject-nil/

 

스위프트 기초 - 야곰닷넷

스위프트는 문법표현의 다양성이 매우 높은 언어입니다. 그래서 스위프트 문법의 모든 형태를 알기는 꽤 오랜 시간이 걸립니다. 그렇지만 최소한의 핵심 문법을 통해 무리없이 스위프트 문법을

yagom.net

728x90