title: Java : casting in clone() method
body: <p>Last week in our java course we were introduced the Object class and some of its methods 
  one of these methods was clone() and when our teacher explained us this method we were told
  that every-time that we clone an an object we have to down-cast the returned object by clone()
  because clone() returns an object of the Object type. </p>
  
  <p>Therefore, I couldn't find a reason why would this method prefer to return a generic Object when it could easily get the type of the cloned object with another method like getClass()
  and handle the down-casting automatically. </p>
  
  <p>oh btw this is no homework it's just my personal curiosity that led me to ask this (my teacher could give me an precise answer so I decided to let him be for now :D )</p>