Private declarations prevent access to that method or object from another object (there are ways around this but for now let's leave it at that). This means the object can be called or instantiated but the things going on inside it cannot be accessed from outside. This makes the object like a black box and protects it from interference. It may simply receive a value and return another value but the calling program or object cannot make changes to the way it works. Private declarations are more secure than public declarations but are more difficult to deal with in practise. Many beginning programmers get into the habit of declaring all things as public and suffer for this habit as developers in real life.