OOP in Java
Object Oriented Programming (OOP) =
programming methodology to model (usually real world) objects
Each object has:
a state represented by the values of a set of data (in the form of a struct)
E.g., for a TV object some components of the state are power on/off, volume 1-10, Mute on/off, channel setting, etc.
behaviors represented by functional methods
E.g., for a TV, there would be an power on method, an adjust volume method, a change channel method, etc.
Each object sends and receives messages.
Classes are used in Java to implement objects