정리/Study
-
2. 타입캐스팅 : UpCasting과 DownCasting정리/Study 2023. 6. 7. 10:59
1. 사용 목적 서로 상속 관계에 있는 class가 자식 클래스로, 또는 부모 클래스로 타입을 전환하기 위해 사용함 2. 캐스팅 시점 - 업캐스팅 : 컴파일 시 캐스팅함 - 다운캐스팅 : 런타임 시 캐스팅함 3. 캐스팅 결과 - 업캐스팅 : 컴파일되면 항상 성공함 - 다운캐스팅 : 컴파일되도 런타임 시 실패할 수 있음 3. 캐스팅 방법 - as의 사용 - 업캐스팅 : 항상 성공하므로 as만 사용 - 다운캐스팅 : 실패할 수 있으므로 as! 또는 as?를 사용 as! : 캐스팅 실패 시 런타임 에러가 발생함 as? : 캐스팅 실패 시 nil 반환함
-
1. Extension의 사용정리/Study 2023. 6. 7. 10:35
Extension의 사용처 - class, struct, enum Extension의 사용 목적 1. 해당 사용처에 이미 존재하는 class / struct /. enum을 추가 상속 2. 함수 / 프라퍼티(연산 프라퍼티만 가능함) / 생성자(convenience init만 가능하며 소멸자는 불가능함)의 추가 3. 코드의 분리 / 정리 Extension 참고 1. struct의 경우 memerwise initializer(기본 생성자)가 존재하는데, struct 본체에 initializer를 추가할 경우, 이 기본 생성자가 사라지지만 extenstion에 작성하면 사라지지 않는다. 2. where절을 사용하여, extension의 적용을 조정할 수 있다.