Programming/Swift

[Swift] Swift Any, AnyObject 차이 알아보기

devssun 2019. 6. 12. 09:31
728x90
반응형

Swift Any, AnyObject


Swift에는 모든 타입을 담을 수 있는 데이터 타입이 있다. AnyAnyObject 이다

두 차이는 Any는 변수 또는 상수를 마음껏 담을 때 사용하는 타입이라면 AnyObject는 클래스의 인스턴스만 할당할 수 있다

// 다양한 타입의 변수 담기
var someVar: Any = "123"
someVar = 12
someVar = 56.2
// 클래스의 인스턴스
var some: AnyObject = Some()

하지만 이 두 타입 모두 사용하지 않는 편이 낫다
사용하면 매번 타입 체크 및 형변환을 해야하기 때문에 처음부터 해당하는 타입을 지정하는 편이 낫다

인스턴스
많은 언어에서 클래스의 인스턴스를 객체라고 부르지만 스위프트 공식 문서에서는 한정적 의미로 인스턴스를 사용한다
보통 객체지향 프로그래밍 패러다임을 지향하는 언어에서는 클래스의 인스턴스를 객체라고 부른다

반응형