객체에서 가져온 여러값을 메서드 호출에서 매개변수로 전달 할땐 그 객체를 통째로 전달하게 수정하자
void setFrame (int x, int y, int width, int height);
를 Rect라는 클래스를 만들어서
void setFrame (Rect rect);
위와 같이 바꾸자 장점은 코드 가독성 증가 및 새로운 값 전달시 편의성 증대가 있다 하지만 단점으로는 객체를 전달하기에 많은 값을 전달하지 않는 경우에는 하지 않는 것이 좋고 값을 전달할 때 호출되는 객체가 그 값들에 의존하게 되지만 값이 추출된 객체에는 의존하지 않게 된다는 점이다. 통 객체를 전달하게 되면 서로 의존하게 된다. 이것은 의존성 구조를 망가뜨릴 것 같으면 실시하지 않는 것이 좋다.
'Development > Programming' 카테고리의 다른 글
[Refactoring] 매개변수 세트를 객체로 전환 (0) | 2013.09.16 |
---|---|
[Refactoring] 매개변수 세트를 메서드로 전환 (0) | 2013.09.13 |
[Refactoring] 매개변수를 메서드로 전환 (0) | 2013.09.11 |
[Refactoring] 메서드를 매개변수로 전환 (0) | 2013.09.10 |
[Refactoring] 상태 변경 메서드와 값 반환 메서드를 분리 (0) | 2013.09.09 |