Something to allow your class to grant access to another class or function.
Friends can be either functions or other classes. A class grants access privileges to its friends. Normally a developer has political and technical control over both the friends and methods of a class (else you need permission from the owner of the other pieces when you want to update your class).