# Overload resolution: extension vs. subclass

**URL:** <https://forums.swift.org/t/overload-resolution-extension-vs-subclass/16182>\
**Category:** Using Swift\
**Created:** [September 14, 2018, 9:19pm UTC](https://forums.swift.org/t/overload-resolution-extension-vs-subclass/16182 "2018-09-14T21:19:01Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jrose](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/jrose/32/408_2.png) [@jrose](https://forums.swift.org/u/jrose)\
**Post date:** [September 14, 2018, 9:23pm UTC](https://forums.swift.org/t/overload-resolution-extension-vs-subclass/16182/2 "2018-09-14T21:23:34Z")

</div>

I believe you can mark the extension method `dynamic` and write `@objc dynamic override` in the test module, to make it clear that you're using ObjC selectors and all the collisions that entails. In general, though, no: methods in extensions in Swift are stuck being final today.

(See also [[Pitch] Overridable Members in Extensions](https://forums.swift.org/t/pitch-overridable-members-in-extensions/1390), which did not get traction at the time but which we'll probably add someday.)

---

_[View the full topic](https://forums.swift.org/t/overload-resolution-extension-vs-subclass/16182)._
