inflearn logo
강의

Khóa học

Chia sẻ kiến thức

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

219

annjae4676

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

0

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

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

java intellij-idea 리팩토링

Câu trả lời 2

0

whiteship

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

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

0

communityai8509

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

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

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

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

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

리팩토링 10. 함수를 명령으로 바꾸기 강의 부분에서 질문있습니다.

0

94

1

함수 추출하기 부분에서 의도와 구현에 대해 질문 있습니다.

0

202

1

.github 토큰 등록하는 방법에 대한 질문

0

220

2

깃허브

0

202

1

홈 디렉토리 .github 파일 생성

0

456

1

리팩토링 22. 여러 함수를 변환 함수로 묶기 강의 내용과 소스 코드가 다른 부분 문의

0

554

1

필드를 감추는 것이 중요한 이유?

0

568

1

오타제보. CVS -> CSV

0

375

0

객체의 필드 몇개만 전달할 경우, 통째로 넘기기 vs 여러개로 넘기기

0

510

0

[오탈자제보] 아주 작은 오타

2

401

0

basePrice

0

294

1

4:04 단축키 궁금합니다.

0

435

1

rename 메뉴에 대한 사소한 질문

0

356

1

테스트 코드 예제

0

308

1

Exception 부분

0

338

1

리팩토링 강의 [ 일부 소스 파일 누락 ]

0

331

1

stream으로 변경 시 성능 문제

0

437

2

로컬 변수에 final

0

458

1

Area 밑줄 나온부분

0

404

1

클래스의 상속 vs 네임스페이스 vs nested 클래스

0

322

1

이런 경우도 따로 함수로 빼는게 좋을지 궁금합니다.

0

279

1

질문입니다

2

265

1

파라미터와 이들을 가진 클래스

0

237

1

해당 강의를 실행시 아래와 같은 에러가 발생합니다..!

0

598

2