😥 문제

Getter와 Setter를 함부로 사용하면 안되는 이유

  1. 캡슐화 위반:
  2. 객체의 책임 모호화:
  3. 테스트 어려움:
  4. 코드의 결합도 증가:

좋은 Getter와 Setter 사용 원칙

  1. 캡슐화 준수: 객체의 상태는 가능하면 외부에 노출하지 말고, 객체 내부에서 관리해야 함. 필요한 경우에만 Getter와 Setter를 사용하여 상태를 외부에 노출.
  2. 비즈니스 로직 포함: Setter 메서드에는 단순히 값을 설정하는 것 외에도 유효성 검사나 비즈니스 로직을 포함시켜 객체의 상태를 올바르게 유지.
  3. 불변 객체 사용: 가능하다면 불변 객체(Immutable Object)를 사용하여 객체의 상태가 변경되지 않도록 합니다. 이는 객체의 일관성을 유지하고, 예측 가능한 코드를 작성하는 데 도움됨.
  4. 인터페이스 설계: 객체의 상태를 직접 노출하기보다는, 필요한 동작을 수행하는 메서드를 제공하여 객체의 상태를 관리함. 예를 들어, deposit(amount)와 같은 메서드를 제공하여 내부적으로 상태를 변경

결론

Getter와 Setter의 무분별한 사용은 객체 지향 프로그래밍의 핵심 원칙인 캡슐화를 위반하고, 코드의 유지보수성과 가독성을 떨어뜨리며, 결합도를 증가시킨다. 따라서, Getter와 Setter는 꼭 필요한 경우에만 사용하고, 객체의 상태는 객체 내부에서 관리하는 것이 바람직함.

🙌🏻 해결 방법

어노테이션으로 주입하는 Getter와 Setter는 사용하지말고 하자!

🔎 참고 자료

https://colabear754.tistory.com/173