다른 분들이 리뷰를 너무 잘 남겨주셔서 이 부분에 대해서 세세하게 다뤄보겠습니다!
필드를 정적으로 선택한 것은 좋은 선택일수도 있다고 생각하지만 저는 많은 문제점을 발생시킬수 있다고 생각해요
1. 글로벌 상태 문제
static으로 관리되는 객체는 애플리케이션 전역에서 접근이 가능하기에 때문에 해당 객체는 클래스나 메서드에 모두 공유되요
...
1주차 미션 너무 수고하셨습니다! 😁😁
각 패키지별로 잘 분리되어 있고 메서드 네이밍도 잘 이루어져서 코드를 이해하는데 좋았어요!
미션을 너무 잘 해주셔서 많이 보고 배웠습니다!
다른분들이 리뷰를 너무 잘 남겨주셔서 많이 리류블 적지는 못했지만 특정 부분을 자세히 다뤄봤어요
리뷰가 도움이 되었으면 좋겠습니다!ㅎㅎ
2주차도 화이팅입니다!
1 답변: 객체로 주입받기 보다는 해당 메서드가 다른 곳에서 오용되기를 방지하는 방법으로는 접근 제어자를 적절히 잘 활용하여 제어하는 것이 좋아보입니다!
2번 답변: 저도 돌이켜 생각해보니 입력한 계산을 입력받고 그를 계산하는 간단한 유틸리티성 메서드는 `static`으로 관리하는것도 좋아보입니다!
`static`으로 관리되는 만큼 시스템 전체에서 고려하는 메서드입니다
하지만 `StringBuilder`는 멀티 스레드 환경을 고려했을 때 적절한 선택은 아니라고 생각해요
`String`은 불변 객체지만 `String`의 불변성의 불편함을 보완하여 탄생한 것이 가변 객체 `StringBuilder`에요
가변 객체의 가장 큰 단점은 사이드 이...