recursion
a way to make a function call itself
recursive call
distinguishing characteristics of a recursive method, relates to the method call itself
base case
a way to stop recursive calls
call stack
keeps track of the methods that are being called when the code runs, as well as local variables and where the call returns to