Converts one class interface to another. Adds to existing class new inteface dynamically which better fits to existing code.
Example:
A real-life example is an adapter for instance USB - HDMI. Let's say we have a computer which has USB input,
but we bought a TV with HDMI input, in order for both devices to work together we need to buy an adapter.