Pallav Gupta explains what a closure is:
Objects are more flexible for certain use cases because they carry both data members and member functions, whereas a function does not have data members.
So if there is a requirement to pass data members along with functions, How will we achieve it in functional programming ?
The answer is yes, we can achieve it using a closure and a free variable.
Read on for an example.