자바로 개발을 할때 Lombok을 사용하지 않은 사람은 거의 없을 것이다. 코틀린으로 넘어와서는 data클래스때문에 Lombok을 사용하지 않는 줄 알았는데 그냥 아예 못쓰는거라니.. 오늘 한번 정리해보겠다.
코틀린 컴파일러 -> .class 생성 -> java 컴파일러 -> .class 생성 -> 어노테이션 프로세싱 -> .class 파일 생성
여기서 어노테이션 프로세싱이 일어나는 위치가 코틀린 컴파일러 이후 자바 컴파일을 할 때 일어나기 때문에 롬복을 코틀린에서 사용할 수 없습니다.
그래도 코틀린에서는 data class라는 친구가 있기때문에 사실상 롬복을 쓸 필요는 없어보입니다.
데이터 클래스가 제공하는 함수
- equals()/hashCode() pair
- toString() of the form "User(name=John, age=42)"
- componentN() functions corresponding to the properties in their order of declaration.
- copy() function (see below).
data class JeongWoo(
val name: String,
val age: Int
)