본문 바로가기

Android/이론

Kotlin 문법 (2) 데이터 클래스(Data class) 사용하기

728x90
반응형
SMALL

 

Data Class


 

Kotlin은 기존의 Java Data class보다 손쉽게 Data class를 정의할 수 있습니다.

 

public class User{
	String name;
	int age;
    
    @Override
    public String toString(){
      return ".. ...";
    }
    
    public String getNaume(){
      return name;
     }
     
     public void setName(String name){
       this.name = name;
     }
   
}

 

Java에서는 위처럼 toString, equals, setter,getter 메서드를 직접 구현해야합니다.

하지만 코틀린에서는 밑의 한줄의 코드로 Data class를 정의할 수 있고,

equals()/hashCode(), toString(), copy()와 setter, getter를 자동적으로 생성해줍니다.

 

data class User(val name: String = "", val age: Int = 0)

 

선언시 파라미터의 초기값도 정해주어야 합니다.

Data Classes의 객체 생성은 다음과 같이 가능합니다.

 

val user1 = User("Lilly", 28)
val user2 = User(name = "Jack", age = 1)
val user3 = User(name = "Jhon")

 

 

  • toString()의 리턴 form은 "User(name=Lilly, age=28)" 형식입니다.

따라서 , 다음 코드의 다음과 같은 결과를 얻을 수 있습니다.

 

val user1 = User("Lilly", 28)
println(user1)

결과>>
> User(name=Lilly, age=28)

 

물론 override하여 사용할 수도 있습니다.

 

data class User(val name: String = "", val age: Int = 0){
   override fun toString() = "User{...}"
}

 

 

  • copy()는 특정 매개변수만 고쳐 copy하고 싶을 때 사용할 수 있습니다.

 

val jack = User(name = "Jack", age = 1)
val olderJack = jack.copy(age = 2)

 


 

참고 자료

728x90
반응형
LIST