TML: Considering that *everything* is an object. Everything belongs to something. In the end, Object is the grandfather. Metaclasses are useful because classes are objects. Yep, even the class definitions. Using a metaclass you can manipulate the class itself. A metclass will usually refer to the object's instance of Class. You can dynamically define methods for a class making sometimes your code more understable. For example, class Foo; define_these_methods
:foo, :bar, :baz; foo 1; bar 2; baz 3; end <-- Note that define_these_methods is pseudo stuff, but in the end it will define methods foo/bar/baz dynamically for that class.