Inheritance Overloading Polymorphism Objects are little black boxes of functionality that are fully independent of any code that references or uses them. Finally, we receive a new transformed thing back from the black box. The beauty of a black box is that all we need to know is how to drop something into the black box and what to expect on the other side. We do not need to understand the magic inside. Objects can be thought of as having two characteristics.
Objects have properties, and objects have methods.
Properties describe the qualities of an object Methods specify the object's behavior. Although this is not a perfect analogy, sometimes when I am trying to figure out what an object should look like, I think of objects in terms of nouns , properties in terms of adjectives , and methods in terms of verbs . However, let's consider a more realistic object that you might have to deal with in your code. Orange Apple Pear A Select Box object has several properties. For one, Select Boxes have a SIZE that corresponds to the number of visible selections.