캡슐화가 필요한 이유

유지보수 측면에서 데이터의 접근을 막는것이 유리하기 때문이다.

만약에 캡슐화가 없었다면 어느 클래스든간에 서로의 상태(변수)에 직접 접근해 변경을 할 수가 있다.

그러다 변수명이 변경이 된다면? 그 변수에 접근하는 모든 클래스들은 변경이 불가피해진다 즉 의존성이 높아져 유지보수에 불리하다.

따라서 캡슐화하면 데이터를 관리하는 주체만 상태를 변경할 수 있어, 클래스간에 의존성을 낮춰 유지보수에 유리해진다.