En este tutorial sobre Scala vamos a ver las ventajas de declarar una clase con la palabra clave case y las implicaciones que puede tener a nivel de generación de código. Posteriormente, veremos la ventaja de utilizarlo en una estructura match, a través del pattern matching.
En caso de que necesites una introducción a Scala, puedes consultar nuestro tutorial de Primeros pasos en Scala. Si quieres seguir aprendiendo sobre este potente lenguaje de programación, te recomendamos que consultes la página de nuestro curso specializado en Scala.

El primer uso importante es poder utilizar la clase en una estructura match. Para poder entenderlo al completo, veremos la forma en la que el compilador de Scala realiza el pattern matching, que en esencia se basa en la identificación de patrones para facilitar el trabajo de programación y la simplificación del código.
Empecemos por lo básico, cuando declaramos una clase con la palabra clave case, de la siguiente forma:
El compilador genera el siguiente código:
Además, genera un objeto acompañante con los siguientes métodos:
Ciertamente, es mucho el código generado para una palabra tan corta como case, ¿verdad?.
Esta es una de las grandes ventajas de Scala. Es un lenguaje que está pensado para hacernos la vida muy fácil. Pero, ¿qué hace una clase case que no haga una clase normal? ¿Qué ganamos con todo este código generado?
Estas son las ventajas:
Si observas con atención, utilizar match sobre un objeto definido por nosotros es muy ventajoso. En el primer caso, cualquier objeto que tenga como nombre "Pepe" hará match y ejecutará el código de la derecha de la flecha. En el segundo caso, buscamos un objeto cuyo nombre no nos importe pero cuya edad sea concretamente 40.
NOTA para los Java. LoversSi vienes de Java, te parecerá curioso no ver ningún break. Esto es así en Scala, no es necesario que cada línea se finalice con un break. Sólo se ejecutará la línea o bloque de la derecha de la flecha y una vez hecho, el compilador irá a la siguiente línea de después del match.
Esta breve introducción a la funcionalidad de las clases case, ya a simple vista, aporta a Scala una versatilidad que es difícil de encontrar en otros lenguajes, como por ejemplo Java. En el siguiente apartado, veremos formas de escribir nuestros bloques match.
Si has llegado a este punto, seguro que estás diciendo: "Scala mola, pero… ¿cómo comparo los valores de los atributos del objeto?" o "¿Cómo recupero el objeto para modificarlo o utilizarlo después de la flecha?".
Tienen mucho sentido tus dudas. Veamos por lo tanto las posibilidades que nos ofrece la estructura match.
El siguiente código muestra un ejemplo para recuperar el nombre de un objeto Persona:
Como puedes observar, dándole un nombre al atributo en cuestión, lo podremos utilizar en la parte de la acción del case.
Veamos el siguiente código:
Esta es una forma muy típica cuando la variable persona, puede ser de varios tipos (o incluso Any). Gracias al pattern matching, identificamos el tipo y accedemos al objeto a través de p.
Lo lógico es que te hagas la siguiente pregunta: "Pero si ya tengo la variable persona, ¿por qué no accedo directamente a ella?". Ok, tienes razón. Vamos con un ejemplo más completo:
Y su funcionamiento explicado:
Y este es un gran comienzo si te estás adentrando en el mundo de Scala, porque es la herramienta base para construir programas fáciles de leer, fáciles de mantener y potentes como en Java.
Si deseas aprender más sobre Scala y aprovechar al máximo sus capacidades, te invitamos a consultar nuestro curso specializado, donde encontrarás recursos y tutoriales prácticos para dominar este emocionante lenguaje. ¡No pierdas la oportunidad de llevar tus habilidades de programación al siguiente nivel con Scala!

Descubre cómo los cursos bonificados por FUNDAE pueden beneficiar a tu empresa mejorando las competencias de tus empleados sin coste adicional.
Descubre cómo programar implica pensar de manera lógica y creativa para construir soluciones digitales que mejoren nuestro entorno
Conoce Spring Framework, la herramienta esencial para crear aplicaciones Java seguras y escalables. Aprende a usarlo paso a paso y potencia tus proyectos profesionales.
Descubre los fundamentos de Java y empieza a programar hoy mismo. Domina el lenguaje más poderoso con nuestro tutorial para principiantes.
Un viaje a través del código: descifrando qué son los lenguajes de programación y por qué son esenciales para el avance de la innovación tecnológica
¿Quieres formar a un grupo de trabajadores con temario a medida?
¡Esta es tu modalidad!
¿Quieres formar a un grupo de trabajadores con temario a medida?
¡Esta es tu modalidad!
© 2026 Imagina Formación. Todos los derechos reservados