Real-world objects share two characteristics: They all have state and behavior. Dogs have
state (name, color, breed, hungry) and behavior (barking, fetching, wagging tail). Bicycles
also have state (current gear, current pedal cadence, current speed) and behavior (changing
gear, changing pedal cadence, applying brakes). Identifying the state and behavior for realworld
objects is a great way to begin thinking in terms of object-oriented programming