A runtime check that verifies a programmer’s assumption. When an assertion fails (expression is false), it typically logs an error and halts execution, indicating a bug in logic. Assertions are used during development/debugging and removed in release builds.