How Can You Explain the Difference between Null and Empty

For developers, the question might already be obvious, as experience makes us more aware of the answer, given any language. Or may have been discussed properly in Computer Science courses.

But may I ask, how do you explain it to non-developers? or even to beginners?

I heard a discussion among my team about it and someone said “You can look at it in terms of a drawer in a desk, it is empty if the drawer has no things inside it, it is null if the drawer itself is missing”. ┬áIt was simple but effective.

Thinking about the question actually made me realize the things that I can improve more in my developer life: If I could explain it to others in the most informal / layman’s terms possible, then I might conclude that I thoroughly understand the subject.