data Ġclass ĠData Class ( val Ġname : String , Ġval Ġage Ġ: ĠInt ) Ġ{ čĊčĊĠĠĠ Ġ// ĠThese Ġproperties Ġare Ġread Ġonly Ġfor Ġdata Ġclass čĊč Ċ } č Ċ // ĠDecl aring Ġa Ġclass Ġa Ġdata Ġclass Ġis Ġwhen Ġa Ġclass Ġholds Ġdata č Ċ // ĠWhen Ġwe Ġdeclare Ġa Ġclass Ġas Ġdata Ġclass , Ġkotlin Ġprovides Ġcertain Ġmethods Ġfor Ġease Ġof Ġuse č Ċ fun Ġmain () Ġ{ čĊĠĠĠ Ġvar Ġp Ġ= ĠData Class (" d ib ya ", Ġ 2 3 ) čĊĠĠĠ Ġvar Ġq Ġ= ĠData Class (" jy oti ", Ġ 2 4 ); čĊĠĠĠ Ġprintln ( p ) Ġ// Data Class ( name = d ib ya , Ġage = 2 3 ) čĊĠĠĠ Ġprintln ( p . equals ( q )) Ġ// false čĊĠĠĠ Ġprintln ( p . equals ( p . copy ())); Ġ// true čĊĠĠĠ Ġprintln ( p . copy ( name =" d ib ya 2 ")) Ġ// Data Class ( name = d ib ya 2 , Ġage = 2 3 ) čĊĠĠĠ Ġ// Ġwe Ġcan Ġcall Ġcopy Ġmethod Ġprovided Ġby Ġkotlin Ġfor Ġdata Ġclasses Ġto Ġcopy Ġthe Ġobject čĊĠĠĠ Ġ// Ġalso Ġwhile Ġcopying Ġthe Ġobject Ġwe Ġcan Ġchange Ġcertain Ġparameter Ġtoo čĊĠĠĠ Ġprintln ( p . component 1 ()) Ġ// Ġd ib ya čĊĠĠĠ Ġ// Ġcomponent N Ġgives Ġthe Ġnth Ġproperty Ġof Ġthe Ġdata Ġclass čĊčĊčĊč Ċ }