title: Why Object clone() method available only to classes that implement Cloneable interface?
body: <p>I know that <code>clone()</code> is a protected method, but "protected" means that it is accessible for all subclasses of particular class.</p>
  
  <p>Any Java class is a subclass of <code>Object</code>, so what is the reason for the protected method here?</p>
  
  <p>And why can we call <code>clone()</code> only on classes that implement the <code>Cloneable</code> interface? 
  I can't understand how it connects to the fact that <code>clone()</code> in <code>Object</code> is declared as protected.</p>