title: When to use StringProperty over String?
body: <p>I am developing an application in JavaFX where I want to represent information of a Person in a single <code>Person</code> class. I came across a tutorial where a Person's name was being represented as a <code>StringProperty</code> instead of <code>String</code>. I have searched for the differences of these and found out <a href="https://stackoverflow.com/questions/28060633/difference-between-simplestringproperty-and-stringproperty">this</a> and <a href="https://stackoverflow.com/questions/17293250/javafx-bind-stringproperty-with-constant-string-prefix">this</a> but the explanation there is not sufficient for me to grab the concept. Some post on the net said there are advantages of using <code>StringProperty</code> over <code>String</code> but could not mention them.</p>
  
  <p>Now my question is: What conditions require one to use <code>StringProperty</code> over <code>String</code> and what are the advantages of doing that?</p>
  
  <p>Why this:</p>
  
  <p><code>StringProperty firstName;</code></p>
  
  <p>Over this:</p>
  
  <p><code>String firstName;</code></p>