Abstraction means exposing what an object does while hiding how it does it. You interact with a simple, stable interface and ignore the messy implementation behind it.
What vs. how
abc ABC, abstractmethod
():
(): ...
():
():
():
():
():
gateway.charge(amount)
