Defining methods with the same name but different parameters.

Safely stopping software while completing necessary operations.

Test verifying interactions between components.

Existing code often difficult to modify or maintain.

Subclass providing a different implementation of an inherited method.

Database optimized for relationships between entities.

Principle favoring small, focused interfaces.

External library required by an application.

Simulated dependency used to isolate software tests.

Process of visiting nodes and edges in a graph.