Type Casting


  • 인스턴스 타입을 확인하거나, 인스턴스의 타입을 슈퍼클래스 또는 서브클래스 타입처엄 다루기 위해 사용
      1. 인스턴스의 타입 확인
      1. 업캐스팅, 다운캐스팅
  • is 와 as 연산자는 값의 타입을 확인하거나 값을 다른 타입으로 변환하는 간단하고 표현적인 방법을 제공
  • 클래스 및 하위 클래스의 계층 구조와 함께, 타입 캐스팅을 사용하여 특정 클래스 인스턴스의 타입을 확인하고, 해당 인스턴스를 동일한 계층 구조 내의 다른 클래스로 캐스트가 가능하다
  • is 연산자를 사용하여 특정 클래스의 인스턴스 타입을 확인 할 수 있다
  • is 연산자를 사용하여 인스턴스 프로퍼티 타입도 확인 할 수 있다
  • as 연산자를 이용하여 패턴 매칭 사용이 가능하다 예제 코드 및 주석 확인
    • line 177 ~
  • as 연산자는 확실한 타입 변환이 가능한 경우에만 사용(업캐스팅 혹은 자기 자신에만 사용), 그외에는 컴파일 에러
  • as? 연산자는 조건부 형식의 타입 변환을 시도하여, 변환에 성공하면 Optional 값을 갖고 실패하면 nil 값을 갖는다
  • as! 연산자는 강제적 타입 변환을 시도하여, 변환에 성공하면 언래핑된 값을 갖고 실패하면 런타임 에러를 나타낸다