allowing us to use a data structure without paying attention to how it's implemented
do not need to know the implementation details in order to use something; related to abstract data types (adts)
it is non-volatile. it is where all data are stored when not in use. read/write speeds are much slower compared to primary storage.