Saltar al contenido principal

Tipado

En el lenguaje Java, el tipado es estático, fuerte y principalmente explícito.

Tipado estático

El tipado estático significa que los tipos de datos de las variables deben ser declarados explícitamente en el momento de su creación y no pueden cambiar durante la ejecución del programa.

Cuando se declara una variable, es necesario especificar su tipo. Por ejemplo:

int numero = 10; // La variable 'numero' es de tipo 'int'

La verificación de los tipos de datos ocurre en el momento de la compilación, antes de que el programa se ejecute. Si se intenta asignar un valor de tipo incorrecto a una variable, el compilador generará un error.

int numero = "diez"; // Esto causará un error de compilación

Tipado fuerte

El tipado fuerte significa que el lenguaje aplica reglas estrictas sobre cómo los tipos de datos son utilizados y que no permite operaciones que puedan dar lugar a confusión o errores de tipo sin una conversión explícita.

Java no permite realizar operaciones entre tipos incompatibles sin una conversión explícita. Por ejemplo, no se puede sumar un int y un String sin realizar una conversión.

int numero = 5;
String texto = "10";
// Esto causará un error de compilación
// int resultado = numero + texto;

Si deseas realizar operaciones entre tipos diferentes, debes usar conversiones explícitas (casting). Por ejemplo, para sumar un int y un double, tendrías que convertir el int a double o viceversa.

int numero = 5;
double decimal = 10.5;
double resultado = numero + decimal; // Conversión automática de 'int' a 'double'

Tipado explícito

El tipado explícito significa que debes declarar el tipo de datos de una variable en el momento de su creación.

Por ejemplo:

int numero = 10; // El tipo 'int' está explícitamente declarado
String texto = "Hola"; // El tipo 'String' también está explícitamente declarado

Si deseas realizar conversiones entre tipos, debes hacerlo de manera explícita (casting). Por ejemplo:

double decimal = 5.5;
int entero = (int) decimal; // Conversión explícita de 'double' a 'int'

Tipado implícito en Java

Java también tiene algún grado de tipado implícito, pero está más limitado. Tenemos dos tipos: el autoboxing y la promoción automática.

El autoboxing es la conversión automática entre tipos primitivos y sus clases envolventes ocurre sin que el programador tenga que especificar la conversión. Por ejemplo:

Integer numero = 5; // 'int' a 'Integer' es autoboxing

En operaciones matemáticas, un tipo primitivo menor (como byte o short) puede ser promovido automáticamente a un tipo mayor (como int) sin que se necesite una conversión explícita. Por ejemplo:

byte b = 10;
int resultado = b + 5; // 'b' es promovido a 'int' automáticamente