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

Seonhu Kim·2023년 3월 29일
0

Swift

목록 보기
1/7
post-thumbnail

#타입캐스팅

  • 업 캐스팅 (Up Casting)

    • 하위 클래스 타입을 상위 클래스 타입으로 캐스팅
    • 캐스팅한 결과가 캐스팅하기 전 타입보다 추상화 될 때, 일반적으로 오류가 발생할 가능성이 없음
  • 다운 캐스팅 (Down Casting)

    • 상위 클래스 타입을 하위 클래스 타입으로 캐스팅
    • 캐스팅한 결과가 전 타입보다 구체화 될 때
    • 일반적으로 오류가 발생할 가능성이 있음

is : 타입에 대한 검사를 수행하는 연산자

as : 상위 클래스의 메모리 구조로 인식함 (항상 성공)

as? : 현재의 타입에서 하위 클래스로 다운 캐스팅 (하위 클래스의 모든 프로퍼티를 사용 가능) → 실패시 nil 리턴

as! : 옵셔널 타입을 강제 언래핑 하여 다운 캐스팅 → 실패시 런타임 오류

profile
iOS Developer.

0개의 댓글