- 필드를 한 곳에서 다른 곳으로 이동하여 데이터의 구조를 변경한다
- 함수에 어떤 레코드를 넘길 때 마다 또 다른 레코드의 필드도 함께 넘기고 있을 때, 한 레코드를 변경하는데 다른 레코드의 필드까지 변경해야 할 때, 구조체 여러 개에 정의된 똑같은 필드들을 갱신해야 할 때 레코드를 클래스와 객체로 치환 가능하다.
-
소스 필드가 캡슐화 되어 있지 않다면 캡슐화 한다. (직접 접근이 아닌 접근자를 사용)
-
테스트 한다.
-
타깃 객체에 필드(와 접근자 메서드)를 생성한다.
-
정적 검사를 수행한다.
-
소스 객체에서 타깃 객체를 참조할 수 있는지 확인한다.
-
접근자들이 타겟 필드를 사용하도록 수정 후에 테스트한다
-
소스 필드를 제거 후에 테스트한다
.... 고민중