There’s a variety of reasons motivating this scope-based hiding. They tend to arise from the software design principle Principle of Least Privilege[2], also sometimes called Least Authority or Least Exposure. This principle states that in the design of software, such as the API for a module/object, you should expose only what is minimally necessary, and “hide” everything else.

Location 677