A pushdown automaton (PDA) is a type of finite state machine that uses a stack to remember an infinite amount of information. A PDA has three components: an input tape, a control unit, and a stack with infinite size. It can perform two stack operations - push, which adds a new symbol to the top of the stack, and pop, which reads and removes the top symbol. A PDA is formally defined as a 7-tuple that specifies its states, alphabets, transition function, initial state, initial stack symbol, and accepting states. A PDA accepts a language either by entering an accepting state after consuming the input string or by having an empty stack when reading is complete.