Na informática, um fechamento é uma função que tem um ambiente próprio. Neste ambiente, há pelo menos uma variável vinculada (um nome que tem um valor, como um número, por exemplo). O ambiente do fechamento mantém as variáveis vinculadas na memória entre os usos do fechamento.

Peter J. Landin deu a esta idéia o nome de fechamento em 1964. A linguagem de programação Scheme tornou os fechamentos populares depois de 1975. Muitas linguagens de programação feitas depois dessa época têm fechamentos.

As funções anônimas (funções sem nome) às vezes são chamadas erroneamente de fechamentos. A maioria dos idiomas que têm funções anônimas também têm fechamentos. Uma função anônima também é um fechamento se ela tiver um ambiente próprio com pelo menos uma variável vinculada. Uma função anônima sem ambiente próprio não é um fechamento. Um fechamento nomeado não é anônimo.