What is the difference between public and private variables? When do I use each one?