타입 캐스팅 2016. 5. 28. 18:41 - 티메르 IOS/Swift 이 글의 ID로 URL 전환 타입 캐스팅타입 캐스팅(다운, 업 캐스팅) 상위 클래스로 갈 수록 구체화, 하위 클래스로 갈 수록 추상화상속 관계: Vehicle -> Car -> SUV var list[Vehicle]() //모두 가능하다, 확장성이 좋다 list.append(Vehicle()) list.append(Car()) list.append(Suv()) 타입 비교 연산 인스턴스 is 비교대상 타입 SUV() is SUV //true(일치함) SUV() is Vehicle //true(일치함) Car() is SUV //true(일치함) Car() is SUV //false(일치하지 않음) //할당받을 수 있는 타입이면 true, 아니면 false 타입 캐스팅 연산 as 키워드 사용let someCar : Vehicle = SUV() //이게 하고싶으면? 다운 캐스팅! 업 캐스팅 하위 클래스 타입을 상위 클래스 타입으로 캐스팅할 때(캐스팅하기 전 타입이 하위 클래스, 캐스팅 한 후 타입이 상위 클래스)캐스팅한 결과, 캐스팅하기 전 타입보다 추상화될 때일반적으로 캐스팅 과정에서 오류가 발생할 가능성이 없음객체 as 변환할 타입 다운 캐스팅 상위 클래스 타입을 하위 클래스 타입으로 캐스팅할 때(캐스팅하기 전 타입이 상위 클래스, 캐스팅 한 후 타입이 하위 클래스)캐스팅한 결과, 캐스팅하기 전 타입보다 구체화될 때캐스팅 과정에서 오류가 발생할 가능성이 있음오류에 대한 처리 방식에 따라 옵셔널 캐스팅과 강제 캐스팅으로 나누어짐객체 as? 변환할 타입(옵셔널 타입으로 변환) 객체 as! 변환할 타입(일반 타입으로 변환) 공유하기 게시글 관리 Philographer 저작자표시 'IOS > Swift' 카테고리의 다른 글 생성자 (0) 2016.05.28 Any, AnyObject (0) 2016.05.28 상속, 오버라이딩 (0) 2016.05.28 메소드 (0) 2016.05.28 프로퍼티 (0) 2016.05.28 댓글 트랙백 공유 카테고리의 다른 글 일반 소셜 댓글 로드 중… 트랙백을 확인할 수 있습니다 트랙백 URL URL을 배껴둬서 트랙백을 보낼 수 있습니다 공유하려면 대상을 선택하세요 소셜 트위터 Facebook 카카오스토리 Band Naver Google+ 메시지 카카오톡 Line 기록 Pocket Evernote 카테고리의 다른 글 목록 2016.05.28 생성자 2016.05.28 Any, AnyObject 2016.05.28 상속, 오버라이딩 2016.05.28 메소드 검색 다른 글 더 보기 모든 글 보기 IOS/Swift 카테고리의 다른 글을 둘러봅니다 Philographer의 모든 글을 둘러봅니다