In Object Oriented - visibility is an important feature, which should be used and ulitized to the fullest. So what is visibility ? What does it mean - something is visible, or not. What something ? Visibility applies to both attributes (variables) and methods (procedures, routines). The developer of a class can thus decide whether certain attributes are available to the "outside world", and which of his/her attributes are used in the internal bowels of the class (or classes) only.

You are a variabele and you have been defined on a method of a class that has a super class and is itself a subclass. This article explains visibility in a very practical way. From locally defined variables to Public/Protected/Private variables on local classes and the same on global classes.