A method of hiding complex implementation details while providing a simple interface for users to interact with the system.