What is Closure?
A function that captures and retains access to variables from its enclosing scope, even after that scope has finished executing.
A closure "closes over" variables from its surrounding environment. In JavaScript: function outer() { let count = 0; return function() { return ++count; }; }. The inner function retains access to count even after outer() returns.
Closures enable data encapsulation (private variables), callbacks, event handlers, partial application, and memoization. They are fundamental to functional programming and used extensively in JavaScript, Python, Ruby, and Swift.