Create DTOs (POJOs/POCOs)

OKKY | DTO, POJO, VO 의 차이점이 무엇인가요?

DTO : Data Transfer Object

POJO: Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어이다. 마틴파울러가 만든용어라고한다.

POCO: POCO 는 Plain Old CLR Objects 라고 MS 측에서 공식명칭을 사용

data class Person (val name: String, var email: String?)

fun main() {
	val personA = Person("SeungMin", "[email protected]")
	val personB = Person("DaBin")
	val personC = personA.copy(

	println(personA) // Person(name=SeungMin, [email protected])
	println(personA.toString()) // Person(name=SeungMin, [email protected])
	println(personA.equals(personB)) // false
	println(personA.equals(personC)) // ture
	println(personA.hashCode()) //-54204568
	personA.email = "[email protected]"
	println(personA.toString()) // Person(name=SeungMin, [email protected])
	
}

hashCode, equals, copy