How abstraction and encapsulation differ?
I am preparing for an interview and decided to brush up my OOP concepts. There are hundreds of articles available, but it seems each describes them differently. Some says Abstraction is "the process of identifying common patterns that have systematic variations; an abstraction represents the common pattern and provides a means for specifying which variation to use" (Richard Gabriel). and is achieved through abstract classes. Some other says Abstraction means to show only the necessary details to the client of the object and Let’s say you have a method "CalculateSalary" in your Employee class,