Unit 09 · overview
Unit 9: Classes, Objects, Records, and Invariants
Object-oriented programming becomes useful when a program contains concepts with related state, behavior, and rules.
This unit does not begin with inheritance diagrams. It begins with modeling:
What concept exists in the problem?
What state belongs to it?
What behavior belongs with that state?
What states must never be allowed?
Does the concept have identity, or is it mainly a value?
You will build normal classes and Java records, then defend the model at Checkpoint 3.