Home > DeveloperSection > Forums > Abstraction VS Information Hiding VS Encapsulation
john rob

Total Post:108

Posted on    June-12-2013 1:26 AM


 1 Reply(s)
 2763  View(s)
Rate this:

Can you tell me what is difference between ABSTRACTION and INFORMATION HIDING in software development?

I am confused abstraction hides detail implementation and information hiding abstracts whole details of something.

Vijay Shukla

Total Post:100

Posted on    June-12-2013 7:59 AM

Hello John Rob1


"One point of confusion regarding abstraction is its use as both process and an entity. Abstraction, as a process, denotes the extracting of the essential details about an item, or a group of items, while ignoring the inessential details. Abstraction, as an entity, denotes a model, a view, or some other focused representation for an actual item."

Information Hiding:

"Its interface or definition was chosen to reveal as little as possible about its inner workings." — [Parnas, 1972b]
"Abstraction can be […] used as a technique for identifying which information should be hidden."
"Confusion can occur when people fail to distinguish between the hiding of information, and a technique (e.g., abstraction) that is used to help identify which information is to be hidden."
"It […] refers to building a capsule, in the case a conceptual barrier, around some collection of things." — [Wirfs-Brock et al, 1990]
"As a process, encapsulation means the act of enclosing one or more items within a […] container. Encapsulation, as an entity, refers to a package or an enclosure that holds (contains, encloses) one or more items."
"If encapsulation was 'the same thing as information hiding,' then one might make the argument that 'everything that was encapsulated was also hidden.' This is not obviously not true."

Don't want to miss updates? Please click the below button!

Follow MindStick