Closure is an open, anonymous, block of code that can take arguments, return a value and be assigned to a variable.
A SAM type is a type which defines a single abstract method. It includes functional interfaces and Abstract classes with single abstract method