## Before Looking Up A *Stack* is a linear data structure with dynamic sizing that follows "first in, last out" principles. Real world examples include a deck of cards or a stack of papers. Operations on a stack include - *add*: adds an object to the top of the stack - in an array implementation, uses an internal variable to keep track of where the top of the stack is - *pop*: removes an object off of the top of the stack - returns null if the stack is empty ## After Looking Up