title: What is the difference between a variable, object, and reference?
body: <p>Exactly what are the differences between <strong>variables</strong>, <strong>objects</strong>, and <strong>references</strong>?</p>
  
  <p>For example: they all point to some type, and they must all hold values (unless of course you have the temporary null-able type), but precisely how are their functions and implementations different from each other?</p>
  
  <p>Example:</p>
  
  <pre><code>Dog myDog = new Dog(); //variable myDog that holds a reference to object Dog
  int x = 12; //variable x that hold a value of 12
  </code></pre>
  
  <p>They have the same concepts, but how are they different?</p>