A classifier models a discrete concept that describes things (objects) having identity, state, behavior, relationships, and an optional internal structure. Kinds of classifiers include class, interface, and data type. Other kinds of classifiers are reifications of behavioral concepts, things in the environment, or implementation structures. These classifiers include use case, actor, collaboration, component, and node, as well as various kinds of behavior. Table 4-1 lists the various kinds of classifiers and their functions. The metamodel term classifier includes all these concepts, but as class is the most familiar term, we will discuss it first and define the other concepts by difference from it.