A hopefully short and concise explanation as to how Clojure deals with Objects. If you already write Clojure, this isn't for you.
You know what an Interface is if you write/read Java or PHP 5+. In Clojure it might be called defprotocol.
user> (defprotocol IABC
(also-oo [this])
(another-fn [this x]))
IABC
You might be tempted to use the classic implements or extends keywords when defining a new Class. In Clojure it might be called defrecord.
user> (defrecord ABC [name]
;; You can implement multiple Classes here
IABC
(also-oo [this]
(str "This => " (:name this)))
(another-fn [this x]
(format "%s says: %s" (:name this) x)))
user.ABC
You might be tempted to use the classic new keyword to instantiate a new object. In Clojure it might be a simple decimal suffix added to the Class name so that it can be used as a predicate.
user> (def a (ABC. "Roger"))
#'user/a
user> (another-fn a "oo programing")
"Roger says: oo programing"
user> (also-oo a)
"This => Roger"
Clojure can just do it better.
user> (defmulti this-is-oo type)
nil
user> (defmethod this-is-oo ABC [this]
(println (:name this)))
#<MultiFn clojure.lang.MultiFn@8625d0e>
user> (this-is-oo a)
Roger
user> (defmethod this-is-oo java.lang.String [this]
"Got a string and not ABC!!!!")
#<MultiFn clojure.lang.MultiFn@8625d0e>
user> (this-is-oo "a")
"Got a string and not ABC!!!!"
@nilliams
I'd argue that has more to do with (a) the apps you write, and/or (b) how you write them.
If you're not using anything macro-like then it's likely not a benefit. If you don't need highly-malleable functionality it may not be a benefit, but in my experience even a light layer of macros can vastly improve readability and communication.
Over the years it still seems to me that until you actually need and/or use it it will never be obvious why this is a good thing. This is partially because it's difficult to externalize what strikes Lisp-y people as obvious. Personally I advocate using the functionality until it's difficult to live without it--then the benefits are clear.
(Macros can be horribly, terribly abused, of course, perhaps to a greater degree than any other language feature. That's not a language issue, but one of discipline, documentation, and system-/environment-level knowledge.)