응집도(Conhension)와 결합도(Coupling), 그리고 캡슐화의 중요성
·
Language/JAVA
좋은 소프트웨어 설계좋은 소프트웨어는 객체 내부 상태를 캡슐화하고, 객체 간 메시지를 통해서 상호작용한다. 밀접하게 연관된 작업만 수행하고, 연관이 없는 작업은 다른 객체에게 위임한다. 내부 구현을 감추고 외부로부터 보호하며, 외부와 협력을 할 때는 인터페이스에 의존해야 한다. 자신이 소유하고 있지 않는 데이터로 작업을 처리하면 안 된다. 자신이 소유한 데이터만 책임하며, 메시지를 통해 협력하라. 좋은 설계를 만들기 위해서 생각해야 할 것들은 위 내용과 같다. 이 내용에서 응집도, 결합도, 캡슐화에 관한 내용을 볼 수 있다. 밀접하게 연관된 작업만 수행하는 것은 응집도가 높다고 할 수 있다. 자신의 데이터만 책임지고, 메시지를 통해 협력하는 것은 다른 모듈끼리 결합도가 낮다고 할 수 있다. 마지막으로 ..