Conteúdo da Aula:
Em programação orientada a objetos, uma classe é uma estrutura que descreve um conjunto de atributos (variáveis) e métodos (funções) que uma entidade pode ter.
Em outras palavras, a classe é uma espécie de "modelo" que define como os objetos dessa classe devem ser estruturados e como eles devem se comportar.
Por exemplo, imagine uma classe "Carro" que define as propriedades de um carro, como a marca, modelo, ano, cor, etc., e também define os métodos que um carro pode ter, como acelerar, frear, virar, etc.
A classe "Carro" é apenas uma definição, ela não existe na memória do computador como um objeto.
Um objeto, por sua vez, é uma instância (ou cópia) de uma classe que é criada na memória do computador em tempo de execução.
Cada objeto tem seus próprios valores para os atributos da classe e pode executar seus próprios métodos.
Ou seja, enquanto a classe é uma descrição genérica de uma entidade, o objeto é a representação específica dessa entidade.
Continuando o exemplo do carro, podemos criar vários objetos da classe "Carro", cada um com suas próprias características (marca, modelo, ano, cor, etc.) e métodos (acelerar, frear, virar, etc.).
Cada objeto de "Carro" seria uma representação única de um carro real, com suas próprias propriedades e comportamentos.
Em resumo, uma classe define as propriedades e comportamentos que um objeto pode ter, enquanto o objeto é uma instância específica dessa classe, criada em tempo de execução.
A orientação a objetos permite que os programadores criem modelos mais abstratos e genéricos, tornando o código mais flexível e reutilizável.