Yes, although once you have either built or purchased an Atmel compatible ISP programmer, you might decide to forgo the use of a custom bootloader.
One of the drawbacks of using a custom bootloader is the application code you are developing must be proper linked for loading at a particular position in Flash/ROM.
Otherwise, yes you might inadvertently write over the bootloader.
Essentially all reprogrammable microcontrollers contain some sort of bootloader, otherwise there would be no way to load application code into Flash or have the device boot code stored in an external ROM, etc.
To utilize an interface, like a UART, not previously intended by manufacture by which to download new app code into the device, a custom bootloader must be used.
The AT89S51/52 bootloader utilizes the device's SPI interface.
The Atmel AVR ISP mkII is one of Atmel's commercial solutions to programming the AT89S51/52, however it is not the only solution.
The simple ISP programmer utilizing a single TTL logic IC in the other link is another.
A very popular solution is the USBasp, which if I remember correctly also supports the AT89S51/52 as well as the AVR series.
USBasp - USB programmer for Atmel AVR controllers
Commercial Versions of the USBasp:
AVR MCU Download Cable with shell USBASP
I personally use either the Atmel AVR ISP mkII or JTAGICE mkII to program the AT89S51/52 series, which these days is not very often.
I prefer the Silabs and Dallas/Maxim 8051 variants.
BigDog