The reason is that it should be the opposite. The class's instance variables should be private, and its methods should be private. In that way, only thesemethods can access to the private variables. For example, you have a class named Person and a variable called <em>ssn</em> (social security number). It is better to make this <em>ssn</em> variable <u>private (</u>It is actually a private information for a person<u>)</u> so that it cannot be read or modified outside of your class.