앱 출시 후 서비스 하는 기간이 길어질수록 코드 1줄당 새롭게 개발하거나 변경되는 비용도 높아진다.
이미 출시된 서비스에 무언가를 바꿀때 미치는 영향도 때문에 소스를 다 뒤지는 시간이 길어지며, 대부분 그 시간을 할애한다.
그렇기 때문에 서비스하는 기간이 길어질수록 코드를 변경하는 비용은 높아지는 것이다.
그래서 우리는 코드를 추가,수정 할때 위치 혹은 영향도를 찾는 시간을 줄여야 한다.
그것을 자바의 대표적인 특징인 캡슐화로 어느정도 비용을 줄일 수 있다.
먼저, 캡슐화를 들어가기전에
커플링(결합도) 와 응집도에 대해 간단히 알아봐야 한다.
커플링(결합도) 란?
말그대로 A코드와 B코드가 서로 결합되어 있는 정도가 커서 A가 바뀌면 B에도 영향이 있는 경우에 결합도가 높다고 표현한다.
응집도 란?
결합도와 반대되는 것으로, 관련된 코드가 최대한 하나로 뭉쳐있는 정도이고, 이를 응집도가 높다고 표현한다.
💡그러므로, 개발의 좋은 방향성은, 결합도를 낮추고⬇️, 응집도를 높이는⬆️ 것이다.
캡슐화는 그런 응집도와 관련있다.
우리가 아는 캡슐화의 정의는 아래와 같다.