Information hiding is a design principle in which?
1) internals of a module encrypt the information
2) internals of a module are deliberately not usable by code that does not need to know the details
3) Internals of a module do not connect to a database
4) none of the above