Central to OO design is the concept of Abstraction
Booch: An abstraction denotes the essential characteristics of an object that distinguish it from all other kinds of objects and thus provide crisply defined conceptual boundaries, relative to the prospective viewer.
Berzins: a concept qualifies as an abstraction only if it can be described, understood, and analyzed independently of the mechanism that will eventually be used to realize it.
Gregorie uses the example of a TV
We know about the interface (on/off, volume, channel, display, ...)
It might even have the ability to add components (dvd player, ...)
But we don't know how the thing works inside.
Additionally, the implementation is separated from the interface
You can purchase a "universal" remote control.
Think about this a little.
ChessPiece chessboard[8][8]{}
chessBoard[0][0] = new Rook{};