title: android - kotlin differences between Normal class and data Class of methods default implementations
body: <p>I read about differences between class and dataclass in kotlin from this</p>
  <p><a href="https://medium.com/@dubemezeagwu/difference-between-normal-classes-data-classes-in-kotlin-a01f636e8900" rel="nofollow noreferrer">https://medium.com/@dubemezeagwu/difference-between-normal-classes-data-classes-in-kotlin-a01f636e8900</a></p>
  <p>i need someone explain the second point by example, when i tried it as i understood i failed
  , the third point say that:</p>
  <p>Data classes have default implementations for the following methods using only properties that were declared in the primary constructor; toString(), hashCode(), copy(), componentN(), equals(). Implementation for those methods can be written in normal classes using properties that were and were not declared in the primary constructor.</p>