The Adapter pattern allows objects with incompatible interfaces to work together by wrapping one with an interface the other expects. It acts as a translator between two interfaces, enabling integration without modifying existing code.
What the Adapter pattern does
ADAPTER → convert one interface into another that a client expects (a "translator"):
→ wrap an object whose interface is INCOMPATIBLE, exposing the interface the client needs
→ the adapter translates calls/data between the two interfaces
→ makes incompatible things work together WITHOUT changing either's code
