본문 바로가기

Development/Programming

[Refactoring] 객체를 통째로 전달

객체에서 가져온 여러값을 메서드 호출에서 매개변수로 전달 할땐 그 객체를 통째로 전달하게 수정하자


void setFrame (int x, int y, int width, int height);


를 Rect라는 클래스를 만들어서


void setFrame (Rect rect);


위와 같이 바꾸자 장점은 코드 가독성 증가 및 새로운 값 전달시 편의성 증대가 있다 하지만 단점으로는 객체를 전달하기에 많은 값을 전달하지 않는 경우에는 하지 않는 것이 좋고 값을 전달할 때 호출되는 객체가 그 값들에 의존하게 되지만 값이 추출된 객체에는 의존하지 않게 된다는 점이다. 통 객체를 전달하게 되면 서로 의존하게 된다. 이것은 의존성 구조를 망가뜨릴 것 같으면 실시하지 않는 것이 좋다.