기존 자바는 POJO라는 것이 코드를 많이 차지하고 있다.
public class Person {
String name;
int age;
String gender;
public Person(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
}
코틀린은 데이터만을 다루는 클래스에 대해서 간편한 문법을 제공한다.
data class Person(var name: String, var age: Int, var gender: String)
이렇게 선언만 해도 생성자, Getter,Setter, equals, hashcode,toString까지 알아서 생성한다.
그러나 Data class에는제한 사항이 있다.
- 기본 생성자에 최소 하나 이상의 파라미터 존재
- 파라미터는 var or val이여야 한다.
- abstract, open, sealed, inner이면 안된다.
- equlas: Boolean - 데이터 클래스 간의 값 일치를 비교
- hashCode(): Int - 같은 인스턴스는 같은 값을 반환해야 한다.
- toString(): String - 멤버 변수 값을 나열할 수 있도록 재정의한다.
copy()
copy() 메소드로 깊은 복사를 수행할 수 있다.
val james = Person("James", 20, "male")
val tom = james.copy(name = "abc") // 이름만 Tom으로 바꾸고 나이와 성별은 james에서 복사
'스프링 부트 > 코틀린' 카테고리의 다른 글
[코틀린] QueryDSL 초기 설정법 (0) | 2022.03.11 |
---|---|
[코틀린] 인터페이스 사용법 (0) | 2022.03.09 |
[코틀린] for문, while문, Iterator 사용법 (0) | 2022.03.09 |
[코틀린] 코틀린 기초 함수 변수 선언법 (0) | 2022.03.09 |
[코틀린] 코틀린이란 무엇일까? (0) | 2022.03.09 |
댓글