인프런 커뮤니티 질문&답변

백엔드님의 프로필 이미지

작성한 질문수

Kotlin으로 개발하는 Spring Boot Web MVC

PUT 과 ObjectMapper

스티브님 질문이 있습니다.

작성

·

207

0

스티브님 강의 잘 듣고 있습니다.

궁금한 점이 있는데요

어떤 객체를 생성하실때마다

인자가 있는 생성자를 이용하시지 않고

apply로 채워넣으시던데 이렇게 하시는 이유가 궁금합니다.!

생성자를 안쓰시고 apply로 모두 채워넣는 이유가 무엇인가요?? apply로 채워넣는 것이 더 코틀린스러운건가요?

답변 1

0

Steve (예상국)님의 프로필 이미지
Steve (예상국)
지식공유자

몇몇 이유가 있습니다.

kotlin 에서 class를 사용해서 생성자에 매개변수(필수값) 이 들어 가게 되면 DB와의 연동 이라던지

다른 연동에 있어서 Default가 없는 경우 에러가 난다거나 하면서 코드의 강제성이 너무 강하게 들어 갈때가 있습니다.

제 스타일이기도 하고 업무하면서 느낀 부분이기도 합니다. 그렇기에 모든 변수를 ?=null 로 nullable하게 만들어서 기본 생성자에 필요한 부분만 채워서 사용하고 있습니다.

말씀하신것처럼 자바와는 차이가 있는 코틀린 스러운 방법 이라고 볼 수 있겠네요