A data abstraction is a simplified view of an object that includes only features
one is interested in while hides away the unnecessary details. In programming languages,
a data abstraction becomes an abstract data type or a user-defined type. In OOP, it is
implemented as a class.