One common explanation is that it was adapted from the French word l'oeuf (pronounced "luff"), which means egg or zero. In American sports, we often use a similar term of goose egg to refer to a score of zero.
The origin of the use of "love" for zero is also disputed. It is possible that it derives from the French expression for "the egg" (l'œuf) because an egg looks like the number zero. This is similar to the origin of the term "duck" in cricket, supposedly from "duck's egg", referring to a batsman who has been called out without completing a run.
One possibility comes from the Dutch expression iets voor lof doen, which means to do something for praise, implying no monetary stakes. Another theory on the origins of the use of "love" comes from the acceptance that, at the start of any match, when scores are at zero, players still have "love for each other".