추상화, 캡슐화
- 추상화 : 중요한 것만 남기고 불필요한 것은 제거한다.
프로그램을 만들 때 비지니스 영역(도메인 영역)에 맞도록 추상화를 해야한다.- 캡슐화(encapsulation)
관련된 것 모아서 가지고 있는 것으로 잘 모아서 가지고 있을수록 응집도(Cohesion)가 높다고 표현한다.- 객체는 누가 바라보느냐에 따라서 중요한 것(추상화)이 달라진다.
- 응집도(cohesion): 관련된 것을 잘 모아서 가지고 있을 수록 응집도가 높다고 표현(ex.Math 클래스).
- Math 클래스처럼 기능들이 잘 유추 가능하도록 클래스 이름을 잘 지어야한다.
좋은 객체란?
역할과 책임에 충실하면서 다른 객체와 잘 협력하여 동작하는 객체를 말한다.
반대로 나쁜 객체란 여러가지 역할을 한 가지 객체에게 부여하거나, 이름과는 맞지 않는 속성과 기능을 가지도록 하거나 제대로 동작하지 않는 객체를 말한다.
또한 다른 객체와도 동작이 매끄럽지 않는 객체를 의미한다.