Now, we can talk about concepts that will make more sense to you, compared to presenting them before you learned the main terminology and saw the code examples. These concepts are:
- Object/class: This keeps the state and behavior together
- Encapsulation: It hides the state and details of the implementation
- Inheritance: It propagates behavior/signatures down the chain of class/interface extensions
- Interface: It isolates signatures from their implementations
- Polymorphism: This allows an object to be represented by multiple implemented interfaces and any of the base classes, including java.lang.Object.
By now, you are familiar with all of the above, so this is going to be mostly a summary, adding only a few details. That's how we learn – from observing specific facts, building a bigger picture, and improving that picture as new observations come in. We do...