swift문법

[Swift] Part13_타입캐스팅(Type Casting)

화찌님 2022. 8. 23. 01:49

1. is연산자/ as연산자

is연산자: 타입을 체크하는 연산자

//person은 Person타입이니?
person is Person //Bool타입

 

as연산자: 인스턴스의 타입의 힌트를 변경하는 연산자

업캐스팅: as >> 항상 성공하기 때문에 ?나 !를 붙이지 않는다.

다운캐스팅: as?, as! >> 실패가능성을 가지고 있기 때문에 ?나 !를 붙인다.

 


2. 상속과 다형성

다형성

하나의 객체가 여러가지 타입의 형태로 표현될 수 있음

다형성은 클래스의 상속과 깊은 연관성이 있음

 


3. Any와 AnyObject

불특정 타입을 다룰 수 있는 타입. 

<Any>

모든타입으로 사용 가능

Any타입이라 타입캐스팅을 해야 구조체 함수같은것을 사용 가능

옵셔널때문에 warning나오는것 신경쓰일경우 뒤에 as Any붙이기 !

<AnyObject>

클래스의 인스턴스만 담을수 있는 타입

 


이 포스팅은 인프런에있는 엘런의 스위프트를 참고하여 작성하였습니다.

'swift문법' 카테고리의 다른 글

[Swift] Part15_프로토콜  (0) 2022.08.24
[Swift] Part14_확장(Extensions)  (0) 2022.08.23
[Swift] Part12_클래스(상속과 초기화)  (0) 2022.08.23
참고) 싱글톤패턴  (2) 2022.08.23
참고) 접근제어  (1) 2022.08.23