is the mechanism that protects data and code within an object from misuse by other routines