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

naryung92님의 프로필 이미지

작성한 질문수

실전! 스프링 데이터 JPA

빌더와 생성자의 보안 차이가 궁금합니다!

23.07.14 16:39 작성

·

322

0

setter를 지양하는 이유 중에 하나가 보안성이라고 생각했습니다.

그런데 builder를 사용하면 똑같이 보안에 문제가 생기지 않나 의문이 들었습니다.

값을 변경하거나 삽입할 때 함수를 따로 만드는 것이 가장 보안성이 좋지만 파라미터가 많을 때 가독성과 편리성을 위해 builder를 사용하는 건가요??

답변 1

1

David님의 프로필 이미지

2023. 07. 14. 19:45

안녕하세요. naryung92님, 공식 서포터즈 David입니다.

setter를 지양하는 이유는 무분별한 상태 변경의 가능성 때문입니다.

빌더패턴을 사용하는 이유는 많은 필드를 가지는 객체를 생성할 때 원하는 것들만 골라서 초기화 시키며 객채를 생성할 수 있기 때문입니다. 또한 객체 생성에 필요한 코드의 가독성도 높아집니다.

감사합니다.