1. 타입캐스팅 - is, as
- 인스턴스의 타입을 확인 하는 용도
- 클래스의 인스턴스를 부모 혹은 자식 클래스의 타입으로 사용할 수 있는지 확인
2. 업 캐스팅 - as
- 부모클래스의 인스턴스로 사용할 수 있도록 컴파일러에게 타입정보를 전환
- Any, AnyObject로 타입정보 변환 가능
3. 다운 캐스팅 - as?, as!
- 자식 클래스의 인스턴스로 사용할 수 있도록 컴파일러에게 인스턴스의 타입정보를 전환
3-1. 조건부 다운 캐스팅 - as?
- 캐스팅에 부합하지 않으면 (실패시) nil을 반환하기 때문에 결과의 타입은 옵셔널 타입
3-2. 강제 다운 캐스팅 - as!
- 캐스팅에 부합하지 않으면 (실패시) 런타임 오류가 발생
- 캐스팅에 성공하면 일반 타입을 반환
'Swift' 카테고리의 다른 글
[Swift] 21. 프로토콜 Protocol (0) | 2021.11.18 |
---|---|
[Swift] 20. assert, guard (0) | 2021.11.18 |
[Swift] 18. 옵셔널 체이닝, nil 병합 연산자 (0) | 2021.11.15 |
[Swift] 17. 인스턴스 (0) | 2021.10.14 |
[Swift] 16. 상속 (0) | 2021.10.14 |
댓글