BoundRect를 Shape의 자식으로 만들면서 적절히 리팩토링.