타입 캐스팅 정의
- 타입 캐스팅은 인스턴스의 타입을 확인할 때 사용합니다.
- 해당 인스턴스를 수퍼클래스(상위클래스)나 하위 클래스로 처리(취급)하는 방법입니다.
- 상속 관계가 있는 클래스끼리만 타입 캐스팅이 가능합니다.
- 타입 캐스팅을 사용해 타입이 프로토콜에 적합한지도 알 수 있습니다.
타입 캐스팅
2022.01.26 - [iOS/Swift 문법 심화 학습] - 타입 캐스팅
타입 캐스팅 연산자 [ as, as?, as! 차이점 ]
is | - 타입을 체크하는 연산자로, 런타임 시점에 실제 체크가 이루어집니다. - 표현식이 타입과 동일하거나 서브클래스인 경우 True값을 반환하고, 그 외에 경우엔 False값을 반환합니다. |
as | - 업 캐스팅에 사용하며, 컴파일 시점에 캐스팅 가능 여부를 결정합니다. - 업 캐스팅은 항상 성공합니다. |
as? | - 다운 캐스팅에 사용하며, 런타임에 캐스팅됩니다. - 다운 캐스팅에 실패할 경우 nil을 리턴합니다. - 캐스팅에 성공할것이라는 확신이 없을 때, 해당 키워드를 사용할 수 있습니다. |
as! | - 다운 캐스팅에 사용하며, 런타임에 강제 캐스팅합니다. - 다운 캐스팅에 실패할 경우 에러가 발생합니다. - 반드시 캐스팅에 성공할 것이라는 확신이 있을 때, 해당 키워드를 사용할 수 있습니다. |
'iOS > iOS' 카테고리의 다른 글
Frame과 Bounds의 차이 (0) | 2022.02.25 |
---|---|
Class와 Struct의 차이 (0) | 2022.02.25 |
Escaping Closure (0) | 2022.02.23 |
ARC [ Automatic Reference Counting ] (0) | 2022.02.22 |
SceneDelegate란? (0) | 2022.02.21 |
댓글