In Classes and Objects we wrote that an object’s attributes and behaviors are defined in classes and that attributes of an object are tracked by its states, while behaviors are what objects are capable of doing.
But this is still a bit confusing. Here is a table
|Attributes||What the object is made of: its instance variables' name and value. It also have to be accesssible from outside, i.e. have getter/setter methods.|
|States||Collection of all instance variables and their values. All the object's attributes.|
|Behaviors||What the object is able to do: its instance methods.|