lunchScreen/Interview_Questions

Extension 내부에서 함수를 override할 수 있는지 설명하시오.

inuinseoul opened this issue · 3 comments

Extension 내부에서 함수를 override할 수 있는지 설명하시오.
  • Method가 Objc와 호환되는 경우에만 확장해서 override할 수 있습니다.
  • UINavigationController는 viewDidLoad()를 extension에서 override할 수 있습니다.
  • Swift Docs : Extensions can add new functionality to a type, but they can’t override existing functionality.

해당하는 메서드가 Objective-C와 호환되는 경우 extension에서 overriding이 가능합니다. 하지만 일반적으로 권장되는 방법은 아닙니다. Extension은 추가 기능을 구현하기 위해 주로 활용되기 때문입니다.

일반적으로 extension은 override가 불가능합니다. extension은 기능의 확장을 위해 사용되는 개념으로, 클래스 상속 관련 기능에 해당하는 override를 하는 것은 extension에 어울리지 않습니다.