gdsc 백엔드 스터디를 진행하며 작성한 게시물입니다.
자바로 작성된 스프링부트 코드를 코틀린으로 변환하면서 찾아 봤던 것들을 정리해둔 게시물입니다.
코틀린에서는 자바에서 lombok으로 제공 받던 기능을 모두 기본적으로 사용가능해서 굳이 사용할 필요가 없습니다.
@Getter, @Setter
: 기본적으로 class.변수명
으로 별도의 annotation 없이 사용가능합니다.@Data
: class를 data class
로 생성하면 대체가능합니다.@NoArgsConstructor
: noArg 플러그인 설치로 대체가능합니다.주 생성자에서 validation annotation 사용 시 @field:
를 명시 해주어야 의도대로 field에서 validation이 작동합니다.
class MemberForm (
// validation 사용시 @field: 명시 그래야 필드에도 validation이 들어감
@field: NotEmpty(message = "회원 이름은 필수입니다.")
val name: String? = null
)
코틀린 클래스를 리플렉션(::)으로 사용하면 KClass가 반환됩니다. 하지만 자바에서는 그냥 Class형식으로 반환되므로 자바 Class가 필요한 메서드에서는 뒤에 .java를 붙여 자바 클래스를 받아와 사용할 수 있습니다.