Memoization is like keeping a notebook of answers you've already computed. When faced with a problem you've solved before, instead of recalculating, you just look it up in your notebook.
In code, you use a dictionary or array to store results. Before computing fib(n), you check: "Have I calculated this before?" - If yes: simply return it. - If no: compute it, save it, then return it. This simple "check before computing" pattern changes your exponential Fibonacci into something far more efficient. How much more efficient? I'll show you the numbers.