상태데이터를 가지는 객체에서 객체에서 값을 꺼내오는 것(get)이 아니라 객체에 메시지를 보낸다.
예를 들어 차가 우승자인지 확인하기 위해 객체의 최대이동거리를 구하기 위해 다음과 같이 구현할 수 있다.
private boolean isMaxPosition(Car car){
return car.getPosition() == maxDistance;
}
위와 같이 구현하지 않고 다음과 같이 Car에게 메시지를 보내 구현한다.
car.isMaxPosition(maxDistance);
확인해야 하는 곳에서 (해당 객체 내에서 확인하도록 하고, maxDistance와 같은 변수를 메시지로 보내 확인하는 것이 객체의 응집성을 높이고 프로그램의 유연성을 높일 수 있는 방법이라 이렇게 말씀하신 것 같다.)
이런 식으로 코드를 구현하면 보다 종합적으로 코드를 간결하게 구성할 수 있을 것이라는 생각이 들었다.
'피드백' 카테고리의 다른 글
자바: 필드(인스턴스 변수)의 수를 줄이기 위해 노력한다. (0) | 2021.10.30 |
---|---|
자바: 기능 목록 구현을 재검토한다. (0) | 2021.10.30 |
자바: 배열 대신 java collection을 활용한다. (0) | 2021.10.28 |
자바: api를 적극 활용한다. (0) | 2021.10.28 |
자바: 변수명을 축약하지 마라 (0) | 2021.10.28 |