The notion of class is widely used in systems analysis and data modeling methodologies and is fundatnental to emergitig object-oriented approaches. However, there are no theory-based guidelines for evaluating the quality of a collection of classes selected to model an application. In this paper, we assume that the class is used as a modeling construct in an effort to follow more closely the way humans structure knowledge about things in the world. We propose necessary conditions for a set of classes to be considered good. These criteria take the form of four principles of class:Jication and are derived from research in cognitive psychology and linguistics about the importance of categories and concepts. That research suggests that humans form categories in order to provide cognitive economy and to support inferences about classified instances in the absence of complete information. We define the notions of potential class and class structure, which satisfy the principles of classification, and discuss some implications of failing to follow these principles when deciding on the classes needed in an application. Additionally, we show that multiple class structures over a given domain are supported.