코틀린은 자바와는 다르게 Data Class를 제공한다.
데이터 저장을 목적으로 하는 클래스이다.
toString, copy, hashCode 함수를 자동 생성해주어 생략이 가능하다.
자바의 경우 위 목적에 의한 클래스를 생성 시 긴 코드가 필요하다.
public class ThisisData{
private String str;
ThisisData(String str){
this.str = str;
}
public String getStr(){
return str;
}
public void setS(String str){
this.str = str;
}
// toString
// copy
// hashCode 등등
}
하지만 코틀린의 경우 다음 한줄으로 생성할 수 있다.
data class ThisisData(val str : String)
이 data class를 통해 많은 기능을 짧은 코드 한줄로 생성하여 사용할 수 있다.
또한, getter,setter를 자동으로 생성해준다.
위 코드의 str은 value로 선언되어 수정 되지 않기 때문에 getter만 제공된다.
너무너무 간편하다 ㅎㅎ