Why are you hiding this?



The idea for information hiding is to reduce complexity and indirectly interact with the information/data using an interface. But why would we do this? Suppose we want to get a drink from a vending machine. We only need to select the drink we want and then pay for it. We never need to see the inner workings or the logic behind the vending machine. This is the same for computer programs. We use interfaces to hide the information/methods. This also means that we can interchange the hidden information easily as long as we do not change the interface. Furthermore, since we do not know exactly how the programs or machines work, we will have a harder time to manipulate them.