항상 뭉쳐 다니는 데이터는 한 곳으로 모아두는 것이 좋음
여러 클래스에 존재하는 비슷한 필드 목록
여러 함수에 전달하는 매개변수 목록
Employee, Office 두 레코드에서 매우 유사한 형태의 데이터 뭉치가 있는 케이스
데이터 뭉치를 하나의 클래스로 모아두고 해당 클래스를 참조하는 구조로 변경
class Employee {
private String name;
private String personalAreaCode;
private String personalNumber;
public String personalPhoneNumber() {
return personalAreaCode + "-" + personalNumber;
}
// ...생성자, getter, setter
}
class Office {
private String officeAreCode;
private String officeNumber;
public Office(String location, String officeAreCode, String officeNumber) {
this.location = location;
this.officeAreCode = officeAreCode;
this.officeNumber = officeNumber;
}
public String officePhoneNumber() {
return officeAreCode + "-" + officeNumber;
}
// ...생성자, getter, setter
}
class TelephoneNumber {
private String areaCode;
private String number;
// ...getter, setter, toString
}