Introduction
We use extend to add methods from a module directly to a class as class methods. This helps share behavior without repeating code.
When you want to add utility methods to a class itself, not its instances.
When you want to organize related class methods in a module.
When you want to share class-level behavior across multiple classes.
When you want to keep your code clean by separating instance and class methods.