[iOS] TypeCasting에 관한 고찰

유인호·2024년 1월 8일
0

iOS

목록 보기
11/73
post-custom-banner

1. 타입캐스팅이란,,,

어떤 한 클래스를 마치 부모(슈퍼) 클래스나, 자식 클래스 '처럼' 사용하게 만드는 방식이다.
예시를 보자면,

이런식으로 하면, testApple은 Apple클래스이지만, test는 Mobile로 타입캐스팅을 해서 Mobile클래스를 가진 친구가 되어버림.

2. 타입캐스팅의 종류

    1. 업캐스팅 ( -> 부모(슈퍼)클래스)
    1. 다운캐스팅 ( -> 자식클래스)

3. 자매품

똑같이 Google 클래스를 만든후, Google클래스로 상수를 만들고, Mobile 클래스로 업캐스팅을 한 후 다시 iPhone상수를 만들었다.

그리고 그 Mobile 클래스를 가진 iPhone을 Apple클래스로 다운 캐스팅 하려고 했더니, 캐스팅이 되질 않는다.

그 이유는, 맨 처음 이야기 했듯 마치 Mobile클래스인 것 '처럼' 사용하는 것에 힌트가 있음.

google과 iPhone은 각각 Google클래스, iPhone은 Mobile클래스 이지만 레퍼런스를 체크해보면 true라고 나온다.

Mobile 클래스로 업케스팅을 하였지만, 근본은 Google 클래스 이기에 Apple클래스로 다운캐스팅을 할 수 없다.

profile
🍎Apple Developer Academy @ POSTECH 2nd, 🌱SeSAC iOS 4th
post-custom-banner

0개의 댓글