Swift 공식문서 읽기...Day16

김민종·2021년 9월 2일
0

Swift Doc

목록 보기
16/26

Type Casting
타입캐스팅은 인스턴스의 타입을 확인하거나 클래스의 같은 계층에 있는 superclass와 subclass를 다루기 위한 수단이다. 타입캐스팅은 is와 as를 사용한다.

Defining a Class Hierarchy for Type Casting
타입캐스팅은 같은 계층과 서브클래스의 타입을 확인 후 같은 계층의 다른 클래스의 캐스팅 할 수 있다. is연산자를 이용해 인스턴스의 타입을 확인할 수 있다.

Downcasting
특정 클래스 타입의 상수나 변수는 서브클래스를 참조할 수있다. 이는 as? as!연산자를 이용해 다운캐스트 할 수있다. 다운캐스팅이 실패 할 수 있기때문에 두가지 형태를 가지고 있다. 조건부인 as? 조건부로 값을 반환한다. 강제연산자는 as!이다. 조건부는 다운캐스팅이 성공할 것이라는 확신이 없을 떄 사용한다. 실패 시 nil값을 반환한다. 확신이 있을 때는 as! 를 사용하는 데 혹시 다운캐스팅에 실패를 하면 런타임 오류를 반환한다.

Type Casting for Any and AnyObject
스위프트는 두가지 특별한 타입이 존재한다.
Any는 함수타입을 포함해 모든 타입을 나타낸다.
AnyObject는 모든 타입의 인스턴스를 나타낸다.

profile
신입 ios개발자입니다!

0개의 댓글