Los objetos tienen estado, comportamiento (métodos) e identidad. Su estado está compuesto por atributos y valores, y su comportamiento está definido por los métodos a los que puede responder. La programación orientada a objetos difiere de la programación estructurada tradicional al definir primero objetos con sus métodos y estados, en lugar de solo procesar datos.