#타입캐스팅
업 캐스팅 (Up Casting)
다운 캐스팅 (Down Casting)
is : 타입에 대한 검사를 수행하는 연산자
as : 상위 클래스의 메모리 구조로 인식함 (항상 성공)
as? : 현재의 타입에서 하위 클래스로 다운 캐스팅 (하위 클래스의 모든 프로퍼티를 사용 가능) → 실패시 nil 리턴
as! : 옵셔널 타입을 강제 언래핑 하여 다운 캐스팅 → 실패시 런타임 오류