λ³μμ λ°μ΄ν° νμ
μ λ°κΏμ£Όλ νμ
λ³νμ λ°©μμλ μλ νλ³ν(Promotion)κ³Ό κ°μ νλ³ν(Casting)μ΄ μμ΅λλ€.
μλ νλ³νμ 묡μμ νμ
λ³ν, κ°μ νλ³νμ λͺ
μμ νμ
λ³νμ΄λΌκ³ λ ν©λλ€.
νλ‘κ·Έλ¨ μ€ν λμ€μ μλμ μΌλ‘ νλ³νμ΄ μΌμ΄λλ κ²μΌλ‘(JVM),
μλ μ½λμ κ°μ΄ μμ λ©λͺ¨λ¦¬μ ν¬κΈ°μ λ°μ΄ν° νμ
μ ν° λ©λͺ¨λ¦¬ ν¬κΈ°μ λ°μ΄ν° νμ
μΌλ‘ λ³ννλ νμλ₯Ό λ§ν©λλ€.
byte a = 10;
int b = a;
μλ νλ³νμ΄ μΌμ΄λλ μμλ λ€μκ³Ό κ°μ΅λλ€.
μ£Όμν μ μ λ©λͺ¨λ¦¬ ν¬κΈ°κ° ν° λ°μ΄ν° νμ
μ΄λΌλ, νμ
λ²μλ₯Ό ν¬ν¨νμ§ λͺ»νλ€λ©΄ μλ νλ³νμ΄ λΆκ°λ₯ν©λλ€.
νΉν long λ°μ΄ν° νμ
(8byte)μμ float λ°μ΄ν° νμ
(4byte)μΌλ‘ μλ νλ³ν(Promotion)μ΄ κ°λ₯ν©λλ€.
ννν μ μλ κ°μ λ²μκ° floatκ° λ ν¬κΈ° λλ¬Έμ
λλ€.
νΉμ 쑰건μ κ°μΆμ§ λͺ»νμ§λ§ κ°μ λ‘ νλ³νμ νκ³ μΆμ λ μ¬μ©νλ λ°©λ²μ
λλ€.
int intValue = 1;
byte byteValue = (byte) intValue;
μ μ½λμ κ°μ΄ int λ°μ΄ν° νμ
(4byte)μ byte λ°μ΄ν° νμ
μΌλ‘ λ³ννλ €κ³ ν λ, μλ κ·Έλ¦Όμ²λΌ μμ 3byteμ 곡κ°μ μμ νκ² λ©λλ€.
μμλ‘ κ³΅κ°μ μμ νκ² λλ€λ©΄ μ μμ μ΄μ§ μμ κ°μ΄ λμ¬ μ μκΈ° λλ¬Έμ μλ νλ³νμ νλ €κ³ νλ©΄ μ»΄νμΌ μλ¬κ° λ°μν©λλ€.
νλ‘κ·Έλλ¨Έ μ±
μ νμ κ°μ΄ μ μμ μΌ κ²μ΄λΌκ³ νλ¨νλ κ²½μ°, λͺ
μμ μΌλ‘ λ°μ΄ν° νμ
μ νκΈ°νμ¬ κ°μ νλ³νμ μνν μ μμ΅λλ€.
κΈ°λ³Έμ μΈ μ¬μΉμ°μ°μ νΌμ°μ°μλ€μ νμ
μ΄ κ°μ κ²½μ°μλ§ μνλκΈ° λλ¬Έμ, μλ‘ λ°μ΄ν° νμ
μ΄ λ€λ₯Ό κ²½μ° λ νΌμ°μ°μ μ€ ν¬κΈ°κ° ν° νμ
μΌλ‘ μλ νλ³νλ ν μ°μ°μ΄ μνλ©λλ€.
ν¬κΈ°κ° μμ νμ
μ μ°μ° κ²°κ³Όλ₯Ό μ»κ³ μΆμ κ²½μ° κ°μ νλ³νμ ν΅ν΄ ꡬνν μ μμ΅λλ€.