필드를 노출시키면 안되는 이유

객체의 필드를 그대로 노출하여 로직을 구하는 경우

  • 캡슐화가 깨지고 결합도가 높아진다.

    • 다른 객체의 필드값을 가지고 로직을 구현한다면, 로직 변경되었을때 해당 로직을 가지고 있는 모든 로직을 변경해야한다.
  • 예약이라는 객체가 있다고 생각해보자

  • 예약이라는 객체는 capacity라는 속성이 있고, 기존에는 capacity만으로 주문 가능한 여부를 따졌다.

  • 하지만 요구사항이 추가되어, 거리에 따라 capacity를 수정하기로 하였고, 거리마다 capacity가 다르다

  • 이렇게 변경 시 기존에 capacity를 사용해서 마감을 확인하던 코드를 다 변경하여, 거리, capacity 두개 다 확인하도록 변경해야한다.

Hugo로 만듦
JimmyStack 테마 사용 중