| Term | Definition |
|---|---|
| enclosing class | The class in which a method is defined. |
| mutable object | An object whose state can be changed after it is created; when used as a constructor parameter, a copy should be made to prevent external modification. |
| object reference | A value that points to the memory location where an object is stored, allowing access to that object. |
| parameter | A variable declared in the header of a method or constructor that receives values passed to the method when it is called. |
| private data | Class members declared with the private access modifier that can only be accessed within the same class. |
| return expression | The value or reference that a method sends back to the code that called it. |
| Term | Definition |
|---|---|
| access constraints | Restrictions that control which classes and methods can access or modify a class, data, constructors, or methods. |
| attribute | The data or properties that define the state of an object or class. |
| behavior | The methods or actions that an object or class can perform. |
| constructors | Special methods used to initialize objects of a class, typically designated as public in this course. |
| data encapsulation | A technique in which the implementation details of a class are kept hidden from external classes to protect internal structure and behavior. |
| instance variable | A variable that belongs to an object and can be accessed throughout the class, as opposed to a local variable that is limited to a specific block of code. |
| method | A named block of code that only runs when it is called, allowing programmers to reuse code and organize programs into logical sections. |
| private | A keyword that restricts access to a class, data, constructor, or method to only the declaring class. |
| public | A keyword that allows access to a class, data, constructor, or method from classes outside the declaring class. |
| visibility constraints | Specifications that determine whether classes, data, constructors, and methods are visible and accessible to external classes. |
| Term | Definition |
|---|---|
| abstraction | The process of reducing complexity by focusing on main ideas and hiding irrelevant details while bringing together related and useful details. |
| attribute | The data or properties that define the state of an object or class. |
| class | A formal implementation or blueprint that defines the attributes and behaviors of objects. |
| class variable | Variables that belong to the class itself rather than individual objects and can be accessed or modified by accessor and mutator methods. |
| code reuse | The practice of using existing methods and procedural abstractions multiple times rather than duplicating code, which helps manage complexity. |
| data abstraction | A separation between the abstract properties of a data type and the concrete details of its representation, allowing data to be named without referencing specific implementation details. |
| instance variable | A variable that belongs to an object and can be accessed throughout the class, as opposed to a local variable that is limited to a specific block of code. |
| method | A named block of code that only runs when it is called, allowing programmers to reuse code and organize programs into logical sections. |
| method decomposition | The process of breaking down larger behaviors of a class into smaller behaviors by creating individual methods to represent each smaller behavior. |
| method signature | The combination of a method's name and its ordered list of parameter types, used to identify and call a specific method. |
| parameters | Variables that allow procedures to be generalized and reused with a range of input values or arguments. |
| procedural abstraction | The ability to use a method by knowing what it does without needing to understand how it was implemented. |
| Term | Definition |
|---|---|
| accessor method | A non-void method that allows objects of other classes to obtain a copy of the value of instance variables or class variables. |
| class variable | Variables that belong to the class itself rather than individual objects and can be accessed or modified by accessor and mutator methods. |
| instance variable | A variable that belongs to an object and can be accessed throughout the class, as opposed to a local variable that is limited to a specific block of code. |
| mutator method | A method that changes the values of instance variables or class variables, often implemented as a void method. |
| non-void method | A method that returns a value of a specified type that can be stored in a variable or used as part of an expression. |
| parameters | Variables that allow procedures to be generalized and reused with a range of input values or arguments. |
| primitive values | Basic data types in Java such as int, double, and boolean that store actual values directly. |
| return by value | The process in which a non-void method evaluates a return expression compatible with the return type and returns that value. |
| return statement | A statement that terminates method execution and returns control flow to the point immediately following where the method was called. |
| return type | The data type of the value that a non-void method returns, specified in the method header. |
| void method | A method that does not return a value and cannot be used as part of an expression. |
| Term | Definition |
|---|---|
| class method | A method that belongs to the class itself rather than to individual instances and does not have access to a this reference. |
| constructor | A special method that is called to create and initialize an object of a class, having the same name as the class. |
| current object | The specific object instance whose method or constructor is being executed. |
| instance method | A method that belongs to an object instance and can access and modify the instance's data through the this keyword. |
| method call | An invocation of a method that interrupts sequential execution and causes the program to execute the method's statements before returning control to the calling location. |
| self-referencing | Code that refers to the current object using the this keyword. |
| this keyword | A special variable that holds a reference to the current object within an instance method or constructor. |
| Term | Definition |
|---|---|
| attribute | The data or properties that define the state of an object or class. |
| constructor | A special method that is called to create and initialize an object of a class, having the same name as the class. |
| constructor parameters | Data passed to a constructor that is used to initialize instance variables with specific values. |
| default constructor | A no-parameter constructor automatically provided by Java when no constructor is explicitly written; initializes instance variables to default values. |
| default values | The initial values automatically assigned to instance variables by the default constructor based on their data type (0 for int, 0.0 for double, false for boolean, null for reference types). |
| has-a relationship | A relationship between an object and its instance variables, indicating that an object has certain attributes. |
| instance variable | A variable that belongs to an object and can be accessed throughout the class, as opposed to a local variable that is limited to a specific block of code. |
| mutable object | An object whose state can be changed after it is created; when used as a constructor parameter, a copy should be made to prevent external modification. |
| object's state | The current values of all instance variables belonging to an object at a given time. |
| Term | Definition |
|---|---|
| class methods | Methods that are associated with a class rather than with instances of the class, and include the static keyword in their header. |
| class variable | Variables that belong to the class itself rather than individual objects and can be accessed or modified by accessor and mutator methods. |
| dot operator | The symbol (.) used in Java to access instance methods and properties of an object. |
| final keyword | A Java keyword that, when applied to a variable, prevents its value from being modified after initialization. |
| instance methods | Methods that belong to an object and are called on specific instances of a class using the dot operator. |
| instance variable | A variable that belongs to an object and can be accessed throughout the class, as opposed to a local variable that is limited to a specific block of code. |
| parameter | A variable declared in the header of a method or constructor that receives values passed to the method when it is called. |
| public access modifier | A keyword that allows class variables to be accessed outside of the class using the class name and dot operator. |
| static keyword | A Java keyword used to designate that a variable belongs to the class rather than to individual objects of the class. |
| Term | Definition |
|---|---|
| block of code | A section of code enclosed in braces that defines a region where variables can be declared and accessed. |
| instance variable | A variable that belongs to an object and can be accessed throughout the class, as opposed to a local variable that is limited to a specific block of code. |
| local variables | Variables declared in the headers or bodies of blocks of code that can only be accessed within the block in which they are declared. |
| parameters | Variables that allow procedures to be generalized and reused with a range of input values or arguments. |
| scope | The region of code in which a variable can be accessed and used. |
| Term | Definition |
|---|---|
| ethical implications | The moral and ethical consequences of computing systems, including questions about right and wrong in their design and use. |
| intellectual property | Legal rights and protections for original creative works, including software code and programs. |
| open source | Software code that is publicly available and free to use, modify, and distribute without requiring permission or payment. |
| social implications | The effects and consequences of computing systems on society, including how they impact people's lives and social structures. |
| system reliability | The ability of a program to perform its intended tasks as expected under stated conditions without failure. |