본문 바로가기
Swift

[Swift] Any, AnyObject

by Sky Titan 2021. 6. 21.
728x90
스위프트 프로그래밍
국내도서
저자 : 야곰
출판 : 한빛미디어 2019.10.01
상세보기

Any

  • 스위프트의 모든 데이터 타입을 사용할 수 있다는 의미.
  • 변수, 상수의 데이터 타입이 Any로 지정될 경우 어떤 데이터 타입도 할당 가능하다.
    • 함수 타입을 포함한 모든 타입
import Foundation

var a: Any

a = 10

print(a)

a = "wow"

print(a)

AnyObject

  • Any보다 좀 더 한정된 의미로 '클래스의 인스턴스'만 할당 가능하다.
    • 즉 Int, String 등의 value type들은 할당 불가능
var b: AnyObject

b = 10
/*결과
/tmp/B6D1B761-46AC-4AAB-9337-D0FA56FCE4C9.Fuzpfj/main.swift:17:5: error: value of type 'Int' does not conform to 'AnyObject' in assignment
b = 10
    ^
*/

 

※ Any, AnyObject를 사용하면 예기치 못한 오류가 발생할 가능성이 높기에 되도록이면 사용을 지양해야한다.

728x90

'Swift' 카테고리의 다른 글

[Swift] Dynamic Dispatch vs Static Dispatch  (0) 2021.12.05
[Swift] 클로저 (Closure)  (0) 2021.07.12
[Swift] defer  (0) 2021.06.21
[Swift] 스위프트 네이티브 객체  (0) 2021.06.15
[Swift] 가변매개변수 (Variadic Parameters)  (0) 2021.06.13

댓글