Recursion
- The function calls itself
 - Every recursive function has a base case and a recursive case.
 
Call stack
- A stack has 2 operations: 
pushandpop - All functions call go to call stack
 - To have a call stack very large, takes up a lot of memory
 
push and pop