본문 바로가기
Swift

[Swift] 19. 타입캐스팅

by CodingKwon 2021. 11. 17.

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

댓글