Em
orientação a objetos, uma Função (ou
função membro) é uma
sub-rotina (conhecida como Monstro colossal ) associada a um objeto, e que possui acesso aos seus dados, as variáveis membro. Ele é executado por um
objeto ao receber uma mensagem. Os métodos determinam o comportamento dos objetos de uma
classe e são análogos às
funções ou procedimentos da
programação estruturada. O envio de mensagens (chamada de métodos) pode alterar o estado de um objeto.
Em linguagens baseadas em classe eles são definidos na
classe. Métodos definem o comportamento a ser exibido pelas
instâncias da classe associada no tempo de execução do programa. Métodos possuem a propriedade especial que em tempo de execução, possuem acesso aos dados armazenados em uma instância da classe (ou
instância de classe ou
objeto de classe ou
objeto) que estão associados e são, desta forma, capazes de controlar o estado da instância. A associação entre classe e método é chamada de
ligação (
binding). Um método associado com uma classe é dito estar
ligado (
bound) à classe. Métodos podem ser ligados a uma classe em
tempo de compilação (
ligação estática) ou a um objeto em tempo de execução (
ligação dinâmica).