RS232 and RS485 are not protocols. They are specifications for the electrical wiring and hardware functions of a serial communications link. You can (and I do) run any number of protocols over either serial link.
RS232 is essentially three wires, transmit, receive, and ground. The presence of a bit on either transmit or receive is measured by the voltage from that wire to ground. That makes this system susceptible to electrical noise, EMI and RFI. It is usually limited to about 500 feet.
RS485 uses a pair of wires for each signal. One wire is + relative to ground and the other is - relative to ground. The presence of a bit is measured by the voltage difference between the pair and voltage is NOT measured relative to ground. That makes RS485 less susceptible to noise, and the signal can typically be run 4,000 or 5,000 successfully. Some RS485 signals use a single +/- pair for both transmit and receive, and others use one +/- pair for transmit and another for receive.
There may be flow control and other signals involved in both RS232 and RS485 but the essential difference is described above.
A protocol is an agreed on format for communications transactions. A protocol usually consists of a start character, an address, a command or response character, data, error checking, and an end character. Modbus is simply one early and widely used protocol. It was originally developed by Modicon and is now in the public domain.