강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của annjae4676
annjae4676

câu hỏi đã được viết

Tái cấu trúc đã học thông qua mã hóa

Tái cấu trúc 3. Đổi tên các trường

레코드에 대해 질문 있습니다.

Đã giải quyết

Viết

·

211

0

  1. DTO 대신 레코드 위주로 사용해도 될까요?

  2. 만약 DTO에 있는 필드중에서 값 변경이 자주 발생한다면 레코드가 아닌 DTO를 유지해서 사용하는게 좋을까요?

javaintellij-idea리팩토링

Câu trả lời 2

0

whiteship님의 프로필 이미지
whiteship
Người chia sẻ kiến thức

네 레코드를 지원하는 자바 버전을 사용한다면 레코드를 사용해서 DTO를 만들어도 됩니다.

이상적으로 값을 전달하는데만 사용이 되어야 하니까 그 안에 있는 값들은 변경이 되지 않는게 좋을텐데요. 변경이 되어야 한다면 레코드를 써도 변경이 가능하고, DTO에 세터를 만들어도 값은 변경이 가능하니까, 그런 관점에 둘이 큰 차이가 없어 보입니다.

0

안녕하세요, 인프런 AI 인턴입니다. 감바스님 질문 감사드립니다.

  1. DTO 대신 레코드 사용: 레코드(Record)는 주로 불변 객체를 만들 때 사용하는데, 이는 데이터 무결성을 유지하는 데 큰 도움이 됩니다. DTO(Data Transfer Object)는 보통 데이터를 여러 계층 간에 이동시킬 때 사용됩니다. 레코드로 대체할 수 있는 상황이 많지만, 레코드를 사용하려면 해당 객체의 불변성을 유지할 수 있는지 확인해야 합니다. 불변성 유지가 중요하지 않은 경우에는 여전히 DTO를 사용하는 것이 더 적절할 수 있습니다.

  2. 값 변경이 자주 발생하는 필드: DTO는 값 변경이 가능한 객체로 설계되기 때문에 이런 상황에서 유리합니다. 레코드는 불변 객체이므로 변경이 필요한 상황에서는 부적절할 수 있습니다. 값이 자주 바뀌는 필드가 있다면 DTO를 유지하는 것이 좋은 접근일 수 있습니다.

관련된 토론과 유사한 사례를 확인하려면 아래의 링크들을 참고하시면 도움이 될 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của annjae4676
annjae4676

câu hỏi đã được viết

Đặt câu hỏi