Most of the time RS-232 and UART come together in serial communication theories. Are they both the same? From my readings I concluded UART is a hardware form of the RS-232 protocol. Am I correct?
No, UART and RS-232 are not the same.
UART is responsible for sending and receiving a sequence of bits.  At the output of a UART these bits are usually represented by logic level voltages.  These bits can become RS-232, RS-422, RS-485, or perhaps some proprietary spec.
RS-232 specifies voltage levels.  Notice that some of these voltage levels are negative, and they can also reach ±15V.  Larger voltage swing makes RS-232 more resistant to interference (albeit only to some extent).
A microcontroller UART can not generate such voltages levels by itself.  This is done with help of an additional component: RS-232 line driver.  A classic example of an RS-232 line driver is MAX232.  If you go through the datasheet, you'll notice that this IC has a charge pump, which generates ±10V from +5V.

(source)
