I found this article helpful to understand the concept of the client with encapsulation

Basically, the client is the object that uses or inherits methods and fields from another object. For the ideal encapsulation case, the client should not have access to the fields that are used in the methods of the object. Therefore, the interface must be designed in a way to prevent direct access to dynamic content of the inherited object or interface.

http://www.stanford.edu/class/cs108/handouts122/10OOPEncapsulation.pdf