As we noted in the previous chapter, when we discussed Parnas's principles, the idea of encapsulation implies that there are two different views of the same system. There is the outside, or service view. This describes what an object does, the service it provides to the rest of the object community. This is sometimes called the public view. And there is the inside, or implementation view. This describes how an object goes about its task. This is often termed the private view.
Users of the abstraction only need to see the outside view. The implementor (and, later, child classes formed using inheritance) need to see the inside view.