Abstract


  • Ability of an object to take on many forms. This allows us to extend or modify the behaviour of existing code without directly altering its source, promoting code reusability and maintainability.