menu_book Course Curriculum (Clojure Complete Course) expand_more
extend-type
Learn extend-type in Clojure with a construct-specific explanation, a unique example, a practical boundary, and a mastery check.
extend-type is an atomic Clojure topic inside Polymorphism, Errors & Testing. The example below uses the actual construct named by the lesson rather than a generic placeholder.
Focus on what extend-type changes: the input, binding, control path, object state, collection, runtime effect, or language contract. Then alter one value and verify that the behavior changes for a reason specific to this feature.
Topic-specific example
(defprotocol Labelled (label [x]))
(extend-type String Labelled (label [s] (str "#" s)))
(label "A")
Pay attention to the contract exposed by the type, which members belong to instances versus the type itself, and what dispatch occurs at runtime.