캡상추다 알아보기 !
💊 캡슐화
OOP의 장점
- OOP의 장점은 프로그램을 유연하고 변경이 용이하게 만듭니다.
- 또한 개발과 유지보수를 편하게 만들며 직관적인 코드 분석이 가능합니다.
- 위의 장점들을 관통하는 객체지향 프로그래밍의 중요한 특성은 응집도와 결합도입니다.
응집도(Cohesion)
- 클래스나 모듈 안의 요소들이 얼마나 밀접하게 관련되어 있는지를 나타냅니다.
- 모듈 내부의 기능적인 응집 정도를 나타내며 높을수록 좋습니다.
- 응집도가 높으면, 변경 대상과 범위가 명확해지는 장점이 있어서 코드를 수정하기 쉬워집니다.

- 높은 응집도
- 각 모듈에 관련된 기능들이 흩어져 있지 않고 잘 모여있다.
- 유지보수를 위해 모듈을 수정할 때 해당 모듈만 수정하면 되서 유지보수하기 편리하다.

- 낮은 응집도
- 각 모듈 안에 다른 모듈과 관련된 기능들이 포함되어 있다.
- 유지보수를 할때 수정할 모듈의 관련된 기능들을 다 찾아서 수정해야 하며 찾는것도 힘들다.
결합도(Coupling)
- 어떤 기능을 실행하는 데 다른 클래스나 모듈들에 얼마나 의존적인지를 나타냅니다.
- 즉 모듈과 모듈간의 상호 결합 정보를 나타내며 낮을수록 좋습니다.
