Abstraction
In programming, abstraction is the extraction of essence —
common behavior, without concrete implementation.
public abstract class Human : BaseEntity
{
public string Name { get; init; }
public abstract void Think();
public abstract void Speak();
}In life, it is when we say:
"This is a human. They can think, speak, feel."
How exactly — is not yet relevant.
Abstraction is a model of thinking that hides details
so we can operate with meaning — not mechanisms.
We do not reveal internals. We communicate role.
And behind that role — thousands of possible implementations may stand.
Unlike encapsulation, which hides for protection,
abstraction hides for simplicity of thought.
It is like a map — it need not contain every stone;
it must only give direction.