← voltar para posts

POO

O que é classe, objeto e POO?

16 Aug 2026 · 5 min

O que é classe, objeto e POO?

POO é um dos paradigmas de programação onde, basicamente, organizamos o código em objetos e classes que representam coisas do mundo real. Por exemplo, em um jogo temos:

  • Personagem - objeto
  • Espada - Objeto
  • Inimigo - Objeto
  • Castelo - Objeto

Um objeto, em sentido geral é: Aquilo que existe como uma coisa concreta ou abstrata e que pode ser percebido, tem carcacteristicas e estadp ou sobre o qual uma ação pode ser realizada.

Por exemplo: uma caneta é algo concreto que pode ser percebido e pensado - check é algo que pode ter uma ação sobre ela: destampar, tampar - check é algo que pode ser percebido, tem caracteristicas - tem cor, tem quantidade de tinta, tamanho de ponta check é algo que tem estado: pode estar com 90% de tinta e tampada nesse momento, mas num segundo momento pode ter 10% de tinta e estar destampada

caracteristica = atributos ação = metodos

Classe x Objeto

De forma resumida, a classe é uma forma e o objeto é algo que pode ser criado a partir dessa forma. Uma mesma forma pode criar varios objetos com caracteristicas diferentes.

por exemplo: A classe: caneta pode criar o objeto: caneta azul, caneta vermelha, caneta verde, caneta preta o mesmo molde, cria varias canetas com cores diferentes por exemplo cada caneta de cor diferente nesse exemplo é um objeto instanciado da classe caneta cada caneta de cor diferente foi criada a partir da mesma forma ‘caneta’

Quando dizemos que instanciamos um objeto queremos dizer que criamos um objeto a partir da classe. ou seja, a classe caneta poderia ter sido criada, mas ainda nao teriamos as canetas verde, vermelha e

Como isso é visto em Java?

Primeiro vamos criar a classe (molde) caneta

public class caneta {
 
}

agora vamos definir o atributo cor de uma caneta

public class Caneta {
    public String cor;
 
}

agora vamos instanciar um objeto, ou seja criar uma caneta

public class Caneta {

    public String cor;

    Caneta canetaAzul = new Caneta(); 
 
}

e agora vamos dar uma cor para nosso objeto criado

public class Caneta {

    public String cor;

    Caneta canetaAzul = new Caneta(); 
    canetaAzul.cor = "Azul";
 
}

Pronto, agora temos um objeto caneta azul criado a partir de uma classe. Mas eu posso criar quantas canetas eu quiser, a partir da classe:

public class Caneta {

    public String cor;

    Caneta canetaAzul = new Caneta(); 
    canetaAzul.cor = "Azul";

    Caneta canetaPreta = new Caneta(); 
    canetaPreta.cor = "Preta";

    Caneta canetaVermelha = new Caneta(); 
    canetaVermelha.cor = "Vermelha";
 
}

class Caneta = cria a classe new Caneta() = cria um objeto a partir da classe

Caneta canetaPreta = new Caneta(); classe nomeObjeto recebe(cria) novo objeto Caneta

Atributos x Metodos

Os atributos como vimos antes são as caracteristicas de um objeto. por exemplo: Caneta azul, com ponta 0.5, da marca Bic seria descrita assim em java

public class Caneta {

    public String cor;
    public float ponta;
    public String marca;

    Caneta canetaAzul = new Caneta(); 
    canetaAzul.cor = "Azul";
    canetaAzul.ponta = 0.5f;
    canetaAzul.marca = "Bic";
 
}

AGora uma caneta vermelha, com ponta 1.5 e da marca bic seria escrita assim

public class Caneta {

    public String cor;
    public float ponta;
    public String marca;

    // CANETA AZUL

    Caneta canetaAzul = new Caneta(); 
    canetaAzul.cor = "Azul";
    canetaAzul.ponta = 0.5f;
    canetaAzul.marca = "Bic";

    // CANETA VERMELHA

    Caneta canetaVermelha = new Caneta(); 
    canetaVermelha.cor = "Vermelha";
    canetaVermelha.ponta = 1.5f;
    canetaVermelha.marca = "Bic";
 
}

Os metodos sao ações que um objeto pode ter, no caso da caneta: escrever, rabiscar, destampar, tampar Metodos em java sempre ficam dentro de classes e sao escritos assim:

public class Caneta {

    public String cor;
    public float ponta;
    public String marca;

    // CANETA AZUL

    Caneta canetaAzul = new Caneta(); 
    canetaAzul.cor = "Azul";
    canetaAzul.ponta = 0.5f;
    canetaAzul.marca = "Bic";

    //METODO ESCREVER

    void escrever(){

    }

    //METODO DESTAMPAR
    
    void destampar(){

    }
 
}

e cada metodo pode ter suas regras. Vamos imaginar que o objeto caneta azul estivesse tampada. Se chamassemos o metodo escrever, não seria possivel porque ela esta tampada. Por isso, precisariamos primeiro destampar e depois escrever. seria algo assim

public class Caneta {

    public String cor;
    public float ponta;
    public String marca;
    public boolean tampada;

    //METODO ESCREVER

    void escrever(){

        if (tampada) {
            System.out.println("Não posso escrever porque a caneta esta tampada!");
        } else {
            System.out.println("Escrevendo...");
        }

    }

    //METODO DESTAMPAR
    
    void destampar(){

        tampada = false;

    }

    public static void main(String[] args) {

        // CANETA AZUL
        Caneta canetaAzul = new Caneta();
        canetaAzul.cor = "Azul";
        canetaAzul.ponta = 0.5f;
        canetaAzul.marca = "Bic";
        canetaAzul.tampada = true;

        canetaAzul.destampar();
        canetaAzul.escrever();
    }
 
}

Se eu tentar escrever com a caneta tampada, eu vou receber a mensagem Não posso escrever porque a caneta esta tampada!, por isso precisamos chamar canetaAzul.destampar(); para mudar o estado da caneta e depois podemos escrever canetaAzul.escrever();

Resumo

Classe = Molde Objeto = é algo concreto ou abstrato que tem caracteristica, estado e ações metodo = ações que um objeto pode ter atributos = caracteristicas de um objeto

← voltar para posts