Previous Section  < Free Open Study >  Next Section

Glossary of Terms

Abstract class

A class that does not know to instantiate objects of itself.


The encapsulation of data and behavior in a bidirectionally related construct. Correlates to a concept in the real world. Synonyms include abstract data type or ADT.

Concrete class

A class that knows how to instantiate objects of itself.


A special operation of a class that is responsible for building/initializing objects of the class.


A special operation of a class that is responsible for destroying/cleaning up objects of that class.

Dynamic semantics

The collection of all possible states that an object of a class can have, along with the allowable transitions from one state to another. Often documented through a state-transition diagram.

Information hiding

The ability of a class to hide its implementation details from the users of objects of that class.

Instantiation relationship

The relationship between a class and its object(s). Classes are said to instantiate objects.

Key abstraction

A key abstraction is defined as a main entity within a domain model. Key abstractions often show up as nouns within the domain vocabulary.


The name of an operation defined on a class. In strongly typed languages, a message may include the name, return type, and argument types of the operation (i.e., its prototype).


The implementation of a message.


An example member of a class consisting of its own identity, the behavior of the class, the interface of the class, and a copy of the class's data. Also called an instance of the class.

Overloaded function

The ability to have two functions with the same name so long as their argument types differ (intraclass overloading) or they are attached to different classes (interclass overloading).


The list of messages to which a class can respond.

Self object

The reference to the object to which a message is sent, when it is within the method.

    Previous Section  < Free Open Study >  Next Section