상세 컨텐츠

본문 제목

[Kotlin] Data Class (데이터 클래스)

Programming language/Kotlin

by choiDev 2021. 9. 21. 14:03

본문

Data Class란 ? 

- 데이터를 담는 목적으로 만든 클래스

Data Class의 특징

 - toString(), hashCode(), equals(), copy() 메소드를 자동으로 만들기에 보일러 플레이트가 줄어듭니다.

 - 보일러 플레이트가 줄어들면 똑같은 코드를 작성하다가 발생할 실수를 방지하거나, 수정할 코드 범위가 줄어들어서 유용합니다.

 - toString()은 데이터 클래스의 변수와 그 값을 문자열로 반환합니다.

 - equal()은 현재 객체와 비교할 객체와 동일한 클래스와 동일한 값을 가졌는지 비교합니다.

 - copy()는 현재 객체와 똑같은 값을 같은 새로운 객체를 생성해 반환합니다.

 - hashcode()는 현재 객체의 주소값을 변환하여 고유의 정수값을 반환합니다. 주로 객체 비교에 사용합니다.

 - 데이터 클래스의 생성자(primary constructor)는 1개 이상의 프로퍼티를 선언해야합니다.

 - 생성자 프로퍼티는 val(Value) 또는 var(Variable)로 선언해야합니다.

 - 데이터 클래스에 abstract, open, sealed, inner를 붙일 수 없습니다.

 - 데이터 클래스는 상속받을 수 없습니다.

 - 데이터 분해 및 대입이 가능합니다.

//일반 데이터 대입
val user = User("choi", 29)
val name = user.name
val age = user.age

//데이터 분해 및 대입(Destructuring Declarations)
val user = User("choi", 29)
val (name, age) = user

 

'Programming language > Kotlin' 카테고리의 다른 글

[Kotlin] Object & Companion Object  (0) 2021.09.21
[Kotlin] 표준함수  (0) 2020.12.06
[Kotlin] 문자열  (0) 2020.12.05
[Kotlin] 익명 함수와 함수 타입  (1) 2020.12.05
[Kotlin] 함수(Function)  (0) 2020.12.04

관련글 더보기