You can use constraints to animate in real-time or to create keyframe animation. Constraints let you link an object that is not animated to an object that is animated in order to animate them both.
For example, in the following image, there is a Parent-Child constraint between the soccer ball and Surfer’s hands. The soccer ball does not have keyframe animation, but as the Surfer moves, so does the ball. You can also animate the constraint itself, so that the ball follows Surfer’s hands only at certain times.
Soccer ball constrained to Surfer’s hands
There are many different types of constraints. You can also constrain models to an animation path, or animate using multiple references. See Animating with Constraints.