Motivation for ADTs
To organize some data, we need to say what general form it has, and what we expect to do with it.
Object-oriented programming provides one way of organizing data: using classes, with their data members and methods.
It is often helpful to specify our data without having to choose the particular data structure yet.