• Hiding implementation details is nothing but abstraction. The main advantages of abstraction are we can achieve security as we are not highlighting internal implementation.
  • Enhancement will become easy. With out effecting outside person we can change our internal implementation.
  • It improves maintainability.
  • By using interfaces and abstract classes we can achieve abstraction.


  • If we don’t know about implementation just we have to represent the specification then we should go for interface
  • If we don’t know about complete implementation just we have partial implementation then we should go for abstract.
  • If we know complete implementation and if we r ready to provide service then we should go for concrete class

Scroll to top