| Term 
 | Definition 
 
        | Central Processing Unit; the brain of the computer. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | Program that manages and controls a computer's activities. Examples: Microsoft Windows and Mac OS. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | Java Virtual Machine; interprets compiled Java programs into byte-codes. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | Designates a location in memory for storing data in the program. |  | 
        |  | 
        
        | Term 
 
        | Object Oriented Programming |  | Definition 
 
        | OOP; solving problems by viewing things as objects with properties (data fields) and behaviors (methods). |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | Declaring data fields private to prevent direct modification. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | When a variable of a supertype can refer to an object of a subtype. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | Deriving new classes from existing classes. The subclasses can use data fields and methods from the superclass. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | Methods that initialize objects. They have the same name as the class and don't have a return type. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | Class-like object that contains only constants and abstract methods. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | When a subclass modifies a method defined in the superclass. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | Defining multiple methods with the same name but different signatures. |  | 
        |  | 
        
        | Term 
 
        | Abstract vs. Concrete Class |  | Definition 
 
        | Abstract- class that can't have any specific instances. Concrete- a class that you can create objects of. |  | 
        |  |