There are different degrees of abstraction: something is abstract to the extent that it omits details. The user interface for a technological device is abstract: it hides the inner workings of that device.
Basically I want to know what makes 0 or 1 abstract. For me to figure that out, I must also have their precise definitions?
Mathematical definitions of quantity are irrelevant here, because even a layman's concept of quantity is abstract. “Three” is abstract, it omits saying what is counted. “Three oranges” is abstract, because it omits saying exactly which oranges are spoken of. “The sun” is abstract, because it omits a lot of details about the nature of the sun.
According to this view, though, zero is not abstract, because it means “an empty quantity”, and there is no lacking information here, no need to wonder “an empty quantity of what?”. Similarly, the empty set is not abstract, because there is no need to answer the question “an empty set of what?”. That the empty set is not abstract may be the reason why it can be used as the “starting point” of mathematics.
If you want zero or the empty set to be abstractions, you need to use another sense of the word “abstraction”, like “imaginary concept”.
Is abstraction another name for commonality?
Abstraction is not the same as commonality, because there is only one sun, yet “the sun” is an abstraction (as explained above). Commonality may inspire the creation of abstractions, because it can make clearer which details we should omit. By seeing a lot of stars, we can come up with the concept of star, by trying to articulate what all stars have in common. “Star” omits information about physical location, in constrast with “the sun” which is “the closest star to the Earth”.
Abstraction makes us more powerful by simplifying things and focusing exclusively on the most relevant details. Clear, simple thought, at an abstract level, can be more effective than confused, complicated thought, lost in details. Abstraction harnesses the power of focus. It allows us to step back and better see the big picture. It makes easier the wielding of complicated tools (conceptual tools in mathematics, physical tools in the physical world). The more complex something is, the more details we need to hide, and the more abstract the resulting concept. Mathematics involves objects more abstract than numbers. For example, sets of numbers can be manipulated without explicit references to the content of these sets. Hiding the least relevant details is especially helpful when dealing with complicated things like sets of sets of sets. Powerful abstractions allow saying vertiginous things with just a few symbols, by hiding all the work that has been done before to create these powerful abstractions in the first place. Mathematicians stand on the shoulders of giants. (And frequently also on their own shoulders! I guess mathematicians are contortionists.)
Conceptual tools are not just used in mathematics, they are also used in natural languages. For example, the concept of “car” is a helpful abstraction: thankfully, we do not always need to mention brand, model and color when mentioning a car. This is especially useful when speaking of a lot of different cars.
An important difference between abstractions for physical things and abstractions for mathematical things is that physical abstractions are usually simplistic (because the world is so complex), whereas mathematicians strive to make their abstractions “rigorous.” For example, the abstraction “planet Earth” assumes that there is a clear spatial boundary between the Earth and the rest of the cosmos. However, the real situation seems more complicated: does the Earth include its own atmosphere? If yes, where does its atmosphere precisely stop? Is the Earth an absolutely precise zone? I am no physicist, but the uncertainty principle seems to make that doubtful. In contrast, mathematical objects seem more docile when it comes to making abstractions based on them. Mathematicians try to make their abstractions simple, but not simplistic.
Abstraction allows generality. By omitting to mention which natural number a mathematician is studying, whatever she finds out about it is true of all natural numbers. For example, let n be a natural number; then the sum of n and its successor is odd, because n+(n+1) = (n+n)+1 = 2n+1. There is no need to take all natural numbers one by one, we can speak of them all simultaneously. This is very expressive.
Abstraction allows uncoupling and flexibility. As others have mentioned, natural numbers can be defined in different ways. However, no matter the chosen definition, the behavior of the resulting numbers should be basically the same. This allows someone to study natural numbers without the need to choose a definition. If mathematicians discover a much better definition of the natural numbers, all the work that has already been done before on natural numbers may still be valid with that new definition.
Someone who wants to build a computer screen does not know which images the user will want to display. The builder only has an abstract knowledge of which images the screen should be capable of displaying. The builder knows the amount of pixels, and which colors each pixel should be able to display. By keeping in mind the image as an abstraction (“set of pixels”) instead of a concrete picture, she manages to make up an extremely versatile device, able to display nearly any image she wants.
Hopefully, this has helped you achieve a better grasp of the nature of abstraction.