Null Object
In plain terms
A do-nothing object that replaces null to avoid null checks.
Going deeper
The Null Object pattern provides a neutral object with default no-op behavior instead of null, eliminating scattered null checks. Absence becomes a harmless object.
Under the hood
Reduces NullPointerException risk and conditional clutter; not suitable when absence must be explicit.
Examples
Default behaviors, avoiding null checks, no-op loggers, safe defaults.
Think of it like...
Like a stand-in actor who silently fills a role so the scene doesn't break when someone's missing.