A programming language structure wherein the data and their associated processing ("methods") are defined as self-contained entities called "objects ... one class to be passed down the hierarchy.