본문 바로가기

두두의 IT

[Kotlin] data Class

728x90

Data Class

  • 데이터 보관 목적으로 만든 클래스
  • 프로퍼티에 대한 toString(), hashCode(), equals(), copy() 메소드를 자동으로 만들어 줌. 그래서 boilerplate code를 만들지 않아도 됨

 

[특징]

  • 데이터 클래스의 생성자(primary constructor)는 1개 이상의 프로퍼티를 선언되어야 함
  • 데이터 클래스의 생성자 프로퍼티는 val 또는 var으로 선언해야 함
  • 데이터 클래스에 abstract, open, sealed, inner 를 붙일 수 없음
  • 클래스에서 toString(), hashCode(), equals(), copy()를 override하면, 그 함수는 직접 구현된 코드를 사용함
  • 데이터 클래스는 상속받을 수 없음