An abstract data type is like a box. It holds special things, like numbers, names of people, shapes and colors. But you can't see what's inside the box because it's abstract (not concrete). You can only see what type of things are in the box, or what kind of things the box will accept, like numbers or names. You can put things into the box, take things out of the box, and even change things in the box.