Separates an object¡¦s interface from its implementation