If i declare some variable in a class to be protected, the only way i can view or change it is if I write functions to do so. Well, what do "protected" and "private" mean actually, and what is the difference?