The short answer is that abstract is the opposite of concrete.
The long answer
Abstraction is basically a synonym for generalization. When we simplify something by throwing away irrelevant information, we are abstracting or generalizing. For example, a car is a more abstract concept than a Ford Mustang. When we refer to a Mustang as a car, we are generalizing the meaning of a Mustang. We are throwing away information about the object and arriving at a simpler concept, "car" in this case.
Consider the following scale:
Thing <-> Vehicle <-> Car <-> Ford Mustang <-> Shelby GT500KR
When we go to the right, we are becoming more concrete. When we go to the left, we are becoming more abstract. When we add detail, we are being more concrete. When we take away detail, we are being more abstract.
Something is said to be abstract if it is farther to the left in such a scale as something else.
Using the above scale, we could say that "vehicle" is abstract and "Shelby GT500KR" is concrete.
Abstract is a relative term like "tall" and "short". Nothing is tall or short, but only tall or short relative so something else. For example, is the Colosseum in Rome tall? It depends on the context. It is tall compared to a person, it is short compared to the Empire State Building or the CN Tower. When we say something is tall, there is always an implicit context since the word only makes sense relative to the context. We can say that the Colosseum is tall or short, depending if the context is people or buildings. When we say something is tall, we are saying it is tall relative to something else. Otherwise the concept "tall" has no meaning.
Likewise, when we say something is abstract, we are saying it is less concrete than something else. The word "abstract" has no meaning by itself.
Part of the confusion is that dictionaries often mix definitions with examples. So, its easy to confuse an example of abstract with its definition if you read a dictionary. Here are several definitions from the New Oxford American Dictionary:
- existing in thought or as an idea but not having a physical or concrete existence
- dealing with ideas rather than events
- make a written summary of (an article or book)
- an abstract work of art
These are all concrete examples of how the word "abstract" can be used, but they do not define it. These definitions won't help you understand what an Abstract Data Type is in computer science.
Here are some more definitions from the same dictionary:
- not based on a particular instance; theoretical
- denoting an idea, quality, or state rather than a concrete object
- extract or remove (something)
These definitions start to get at what the word actually means.