레퍼런스를 따라 계속해서 메서드 호출이 이어지는 코드
해당 코드의 클라이언트가 코드 체인을 모두 이해해야 한다
체인 중 일부가 변경되면 클라이언트의 코드도 변경이 필요해진다
아래 코드를 사용하는 메인 함수에서 Person.getDepartment.getManger 를 이용하는 경우
Person 코드의 getManager 만 호출하고 Department 를 통해 생성된다는 정보를 은닉할 수 있다
class Department {
private String chargeCode;
private Person manager;
// ...getter, constructor
}
class Person {
private String name;
private Department department;
// ...getter, setter, constructor
}
class Person {
afterPerson getManager() {
return getDepartment.getManager();
}
}