[Java] Java κΈ°μ΄ (2) νμ
μλ νμΈμ λ°±μλκ°λ°μ νλ―Όμ μ λλ€ ππ»π«§
μ§λ ν¬μ€ν μμ Java κΈ°μ΄μ λν΄ μμ보μλλ°μ, μΆκ°μ μΌλ‘ μλ°μ νμ μ λν΄μ€λͺ νλ €κ³ ν©λλ€ !
βπ» νμ Type
: λ°μ΄ν°μ μ’ λ₯μ ν¬κΈ°λ₯Ό κ²°μ νλ©΄ λ©λͺ¨λ¦¬ κ³΅κ° ν보 μ¬μ
π κΈ°λ³Έ νμ κ³Ό μ°Έμ‘° νμ
βͺοΈ κΈ°λ³Έ νμ Primitive Type
- λ°μ΄ν°μ μ€μ κ°μ μλ―Έ
- μ μ νμ (byte, short, int, long), μ€μ νμ (float, double), λ¬Έμ νμ (char), λ Όλ¦¬ νμ (Booloean)
- ex) ' λμ νΈλλ λΉμ΄ λ¨μ΄μ§ λ λ¨Ήλ μμμ΄λ€ ' λΌκ³ μ§μ μ μΌλ‘ μλ―Έλ₯Ό μλ €μ€λ€λ©΄ κΈ°λ³Έ νμ μ λ°μ΄ν°
βͺοΈ μ°Έμ‘° νμ Reference Type
- λ°μ΄ν°κ° μ μ₯λ μ£Όμκ°
- κ°μ²΄μ μ£Όμλ₯Ό μ μ₯, 8κ°μ κΈ°λ³Ένμ μ μΈν λλ¨Έμ§ νμ
- ex) μμΈμ²λΌ ' λμ νΈμ λν μ 보λ 120νμ΄μ§μ μ€λͺ λμ΄μλ€ ' λΌκ³ νλ€λ©΄ μ°Έμ‘° νμ μ λ°μ΄ν°
public class Main {
public static void main(String[] args) {
Object object = new Object();
System.out.println(object);
}
}
//κ²°κ³Ό
java.lang.Object@35bbe5e8
→ Objectλ μ€μ κ°(κΈ°λ³Έ νμ ) + @35bbe5e8λ μ΄ κ°μ²΄μ μ£Όμκ°(μ°Έμ‘° νμ )
* java.lang ν¨ν€μ§ : Java lang ν¨ν€μ§λ JAVA νλ‘κ·Έλλ°μ νμν κ°μ₯ κΈ°λ³Έμ μΈ ν΄λμ€λ€μ΄ λͺ¨μ¬μλ ν¨ν€μ§
π μ μ νμ (byte, short, int, long)
- λͺ¨λ λ€ κ°μ νμ μ΄ μμΌλ©° μ μ₯ν μ μλ κ°μ λ²μκ° μλ‘ λ€λ¦
νμ | λ©λͺ¨λ¦¬ | λ²μ | κΈ°ν |
byte | 1 byte | -128 ~ 127 | |
short | 2 byte | -32,768 ~ 32,767 | - int λ³΄λ€ μ§§λ€λ μλ―Έ |
int | 4 byte | -2,147,483,648 ~ 2,147,483,647 | - intλ μ μ(integer)μ μ½μ |
long | 8 byte | -9,223,372,036,775,808 ~ 9,223,372,036,854,775,807 |
- int λ³΄λ€ κΈΈλ€λ μλ―Έ - long νμ λ³μμ κ°μ ν λΉν λ, 8byteλΌλ κ²μ μ»΄νμΌλ¬μκ² μλ €μ£ΌκΈ° μν λͺ©μ μΌλ‘ Lμ λΆμ |
1οΈβ£ byte μ¬μ©
byte b = 40;
→ byte νμ λ³μμ 40μ΄λΌλ κ°μ ν λΉνλ©΄ byte λ²μ λ΄μ μκΈ° λλ¬Έμ μ»΄νμΌλ¬κ° μμμ byteλ‘ λ°κΏμ€
2οΈβ£ long μ¬μ©
long l = 12345567788910;
→ μ μμ λ²μλ₯Ό λμ΄κ°μ μ€λ₯κ° λ¨ → long νμ μ μλ―Ένλ Lμ λΆμ¬μ£Όλ©΄ μ€λ₯λ₯Ό ν΄κ²°ν μ μμ
- μ¦, L μ int λ²μλ₯Ό λ²μ΄λ λ λΆμΈλ€κ³ μ΄ν΄νλ©΄ λ¨
long l = 12345678910L;
βͺοΈ λ³μμ κ°μ΄ μλ£νμ λ²μλ₯Ό λμ κ²½μ°
π‘ μ€λ²νλ‘μ°
- μλ£νμ΄ ννν μ μλ λ²μ μ΄μμ κ°μ ννν κ²½μ° λ°μνλ νμ
- ex) μ΄λ€ κ°μ΄ byte νμ΄κ³ byteνμ μ΅λκ°μ΄ 127μ κ°μΌλ‘ κ°μ§λ κ²½μ° μ΄ κ°μ 1μ λνλ©΄ 128μ΄ μλλΌ -128μ΄ λ¨
π‘ μΈλνλ‘μ°
- μλ£νμ΄ ννν μ μλ λ²μ μ΄νμ κ°μ ννν κ²½μ° λ°μνλ νμ
- ex) μ΄λ€ κ°μ΄ byte νμ΄κ³ byteνμ μ΅μκ°μΈ -128dμ κ°μΌλ‘ κ°μ§λ κ²½μ° μ΄ κ°μ 1μ λΉΌλ©΄ -129κ° μλλΌ 127μ΄ λ¨
π λ°μ΄ν° νμ μ ν¬κΈ°μ νν λ²μ
- λ°μ΄ν° νμ μ ν¬κΈ°κ° λ°μ΄ν°μ νν λ²μ κ²°μ
- 0κ³Ό 1μ μ΄μ§μλ‘ λ°μ΄ν°λ₯Ό νν
β‘οΈ byte ν
- 1 byte = 8 bit μ ν¬κΈ°λ₯Ό κ°μ§ μ μν λ°μ΄ν° νμ → 8μ리 μ΄μ§μλ₯Ό ννν μ μμ
- but, μμμ λ²μλ ννν μ μμ΄μΌ ν¨ → 8λΉνΈ μ€ λ§¨ μμ λΉνΈλ₯Ό λΆνΈ λΉνΈλ‘ μ¬μ©
→ 맨 μ λΉνΈκ° 0 μ΄λ©΄ μμ ! 1 μ΄λ©΄ μμ ! → λ°λΌμ 2μ 7μΉ = 128κ°μ λ°μ΄ν°λ₯Ό νν κ°λ₯
ππ» κ²°κ³Όμ μΌλ‘ byteνμ 8bit μ€ 1bitλ λΆνΈλ‘, 7bitλ μ«μ ννμ μ¬μ© (-128 ~ 127)
πμ€μ νμ (float, double )
float a = 1.23f;
double b = 3.2453d;
double c = 3.2938;
1οΈβ£ float νμ
- 4 byteμ μμμ μ κ°μ§λ νμ
2οΈβ£ double νμ
- 8 byte ( default κ° )
ππ» double νμ float ν λ³΄λ€ μ λ°λκ° λ ↑
- μ»΄ν¨ν°μμ μ€μλ₯Ό λ€λ£° λ μ€μ°¨κ° λ°μν μ μμ§λ§ μ΄ μ€μ°¨λ μ€μλ₯Ό λ μ λ°νκ² ννν μλ‘ μ€μ΄λ¦
- μ λ°λλ ? μΌλ§λ μ€μλ₯Ό μ λ°νκ² λνλΌ μ μλμ§ → μ λ°λλ λ°μ΄ν° νμ μ ν¬κΈ°κ° ν΄μλ‘ λμμ§
πλ Όλ¦¬ νμ (Boolean)
- μ°Έ λλ κ±°μ§μ μ μ₯ν μ μλ λ°μ΄ν° νμ True & False
- μ°Έκ³Ό κ±°μ§μ 0κ³Ό 1λ‘ μ μ₯νλ―λ‘ λ¨ νλμ λΉνΈλ§μΌλ‘ ννν μ μμ
→ JVMμ΄ λ€λ£° μ μλ λ°μ΄ν° μ΅μ λ¨μκ° 1 byteμ΄κΈ° λλ¬Έμ 1 byte ν¬κΈ°λ₯Ό μ°¨μ§ν¨
boolean happy = true;
if (happy){
"i am happy !"
}
πλ¬Έμ νμ (Char)
- char νμ λ³μλ λ¨ νλμ λ¬Έμλ§ μ μ₯ν μ μμ
- μλ°λ μ λμ½λμ κΈ°λ°νμ¬ λ¬Έμλ₯Ό νν = 2 byte ν¬κΈ°μΈ μλ°μ char νμ μ νλμ μ λμ½λ μ μ₯
→ λ¬Έμλ₯Ό λ³μμ λμ νλ©΄ λ¬Έμμ ν΄λΉνλ μ μ κ° (μ λμ½λ κ°)μ΄ μ μ₯λ¨
char A = 'κ°';
System.out.println(A);
char B = 44032;
System.out.println(B);
//κ²°κ³Ό
κ°
κ°