CLOS is an object-oriented extension to Common Lisp. It defines classes, slots, inheritance, and generic functions/methods. Classes determine structure and behavior of instances through slots and inheritance. Generic functions dispatch methods based on specializers. CLOS also defines metaclasses and metaobjects that determine class representation and inheritance. New instances are created with make-instance and initialized through initialization arguments and methods. Classes can be redefined to modify existing classes.