2.2 Data Type

ÀÛ¼ºÀÚ : ÁøÀº¿µ ( 2004-07-02)

¸ñÂ÷
  • DataTypeÀ̶õ
  • Primitive Type
  • Reference Type
  • º¯¼ö

2.2.1 DataTypeÀ̶õ

Data°¡ °®´Â ÇüÀ¸·Î DataÀÇ ½ÇÁúÀûÀÎ ±¸Á¶ ¹× °³³ä, ±×¸®°í ±× Data¿¡¼­ ÇàÇÒ ¼ö ÀÖ´Â ¿¬»ê µîÀ» Á¤ÀÇÇÑ´Ù.
ÀÚ¹Ù¿¡¼­ »ç¿ëÇÏ´Â DataTypeÀº ¾Æ·¡¿Í °°´Ù.
Primitive Type : ÀÚ¹Ù¿¡¼­ ±âº»À¸·Î Á¦°øÇϴ ŸÀÔÀ¸·Î 8°¡Áö°¡ ÀÖ´Ù.
Reference Type : ±âº»ÇüÀ» Á¦¿ÜÇÑ ³ª¸ÓÁö ŸÀÔÀ» °¡¸®Å²´Ù.

¨ç Primitive Type
ºÐ·ù Á¾·ù ¹üÀ§ ±âº»°ª
Logical boolean true/false false
Textual char 0 ~ 255 '\u0000'
Integral byte 1 byte (-2^7 ~ 2^7 -1) 0
short 2 byte (-2^15 ~ 2^15 -1) 0
int 4 byte (-2^31 ~ 2^31 - 1) 0
long 8 byte (-2^63 ~ 2^63-1) 0
Floating float 4byte 0.0
double 8byte 0.0

±âº»ÇüÀº º¹ÀâÇÑ °´Ã¼°¡ ¾Æ´Ñ ÇϳªÀÇ °ª¸¸À» Ç¥ÇöÇÑ´Ù.

¨è Reference Type
±âº»ÇüÀ» Á¦¿ÜÇÑ ³ª¸ÓÁö ¸ðµç ŸÀÔÀÌ Reference TypeÀÌ´Ù.

2.2.2 Primitive Type

°¢°¢ÀÇ µ¥ÀÌÅÍ Å¸ÀÔ¿¡ ´ëÇؼ­ ¾Ë¾Æº¸ÀÚ
ÀÚ¹Ù´Â 4°³ÀÇ Á¤¼ö ŸÀÔ byte , short , int , longÀ» Á¤ÀÇÇÑ´Ù. À̵éÀº ¸ðµÎ ºÎÈ£°¡ ÀÖ´Â ¾ç°ú À½ÀÇ °ªÀ» °®´Â´Ù.

¨ç byte
°¡Àå ÀûÀº Á¤¼ö ŸÀÔÀÌ´Ù. byteŸÀÔÀÇ º¯¼öµéÀº ³×Æ®¿öÅ©³ª ÆÄÀϵ »ç¿ëÇÒ ¶§ ƯÈ÷ À¯¿ëÇÏ´Ù.

byte b , c ;

¨è short
ºÎÈ£°¡ ÀÖ´Â 16bit ŸÀÔÀÌ´Ù. ÀÌ Å¸ÀÔÀº ¿äÁòÀº °ÅÀÇ »ç¿ëÇÏÁö ¾Ê´Â ŸÀÔÀÌ´Ù.

short b , c ;

¨é int
ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â Á¤¼öÇüÀÌ´Ù. Ãß°¡ÀûÀ¸·Î, intŸÀÔÀÇ º¯¼öµéÀº ¹Ýº¹¹®À» Á¦¾îÇÏ°í ¹è¿­¿¡ »öÀÎÀ» ³ÖÀ»¶§µµ »ç¿ëÇÑ´Ù. Á¤¼öÇü¿¡¼­ÀÇ ±âº»°ªµµ intŸÀÔÀÌ´Ù.

int b , c ;

¨ê long
intŸÀÔÀÌ »ç¿ëÇÏ´Â °ªÀ» º¸°üÇϱ⿡ ÃæºÐÈ÷ Å©Áö ¾ÊÀº °æ¿ì¿¡ À¯¿ëÇÏ´Ù.

long b , c ;

Á¤¼öÇüÀ» ÀÌ¿ëÇÑ ¿¹Á¦¸¦ Çϳª ´Ù·ïº¸ÀÚ

class IntTest{
  public static void main( String [] args ){
    byte b1 =10;
    short s1 =10; 
    int i1 =10;
    long l1 =10;

    System.out.println( "byte=" + b1 ) ; 
    System.out.println( "short=" + s1 ) ; 
    System.out.println( "int=" + i1 ) ; 
    System.out.println( "long=" + l1 ) ; 
  }
}
°á°ú

---------- java ----------
byte=10
short=10
int=10
long=10
Ãâ·Â ¿Ï·á (0ÃÊ °æ°ú) - Á¤»ó Á¾·á

±×·¯³ª Á¤¼öÇü Áß long ŸÀÔ¿¡ °ªÀ» ´ëÀÔÇÒ ¶§ Á¶±Ý Ʋ¸°°ÍÀÌ ÀÖ´Ù. ¾Æ·¡ÀÇ ¿¹¸¦ º¸ÀÚ
class LongTest{
  public static void main( String [] args ){
    long l1 = 1234567891234 ; 
  }
}
ÄÄÆÄÀÏ
---------- javac ---------- LongTest.java:3: integer number too large: 1234567891234
long l1 = 1234567891234 ;
^
1 error
Ãâ·Â ¿Ï·á (1ÃÊ °æ°ú) - Á¤»ó Á¾·á

Á¤¼öÇü¿¡¼­ ±âº»°ªÀÌ int ŸÀÔÀ̱⠶§¹®¿¡ longŸÀÔÀÇ °ªÀ» ³ÖÀ» ¶§´Â ¾Æ·¡¿Í °°ÀÌ LÀ» ³Ö¾î¾ß ÇÑ´Ù.
long l1 = 1234567891234L ;


¨ë float
32ºñÆ®ÀÇ ½Ç¼öÀÇ °ªÀ» ÀÔ·ÂÇÑ´Ù.
float h , l ;

¨ì double
¸Å¿ì ºü¸¥ ¼öÇÐÀû °è»êÀ» À§Çؼ­ ÃÖÀûÈ­µÈ ¿äÁòÀÇ ¸î¸î ÇÁ·Î¼¼½º¿¡¼­´Â floatŸÀÔº¸´Ù ÈξÀ ºü¸£´Ù.
double h , l ;

½Ç¼öÇüÀ» ÀÌ¿ëÇÑ ¿¹Á¦¸¦ Çϳª ´Ù·ïº¸ÀÚ
class FloatTest{
  public static void main( String [] args ){
    float f1 ; 
    double d1 ; 

    f1 = 5 ; 
    d1 = 5 ; 

    System.out.println( "float = " + f1 ) ; 
    System.out.println( "double = " + d1 ) ; 
  }
}
°á°ú
---------- java ----------
float = 5.0
double = 5.0
Ãâ·Â ¿Ï·á (2ÃÊ °æ°ú) - Á¤»ó Á¾·á

±×·¯³ª ¾Æ·¡ÀÇ ¿¹´Â ¿À·ù°¡ ³­´Ù.
class FloatTest1{
  public static void main( String [] args ){
    float f1 ; 
    double d1 ; 

    f1 = 5.0; 

    System.out.println( "float = " + f1 ) ; 

  }
}
ÄÄÆÄÀÏ
---------- javac ----------
FloatTest1.java:6: possible loss of precision
found : double
required: float
f1 = 5.0;
^
1 error
Ãâ·Â ¿Ï·á (2ÃÊ °æ°ú) - Á¤»ó Á¾·á

½Ç¼öÇü¿¡¼­ÀÇ ±âº»°ªÀº doubleÇüÀÌ´Ù. ±×·¸±â ¶§¹®¿¡ ¿À¸¥ÂÊÀÇ °ªÀÇ 5.0Àº floatÀÌ ¾Æ´Ï°í doubleÀ̱⠶§¹®¿¡ ŸÀÔÀÌ Æ²¸®´Ù°í ³ª¿Â´Ù. float ŸÀÔÀÎ °æ¿ì F¸¦ °ªÀÇ ³¡¿¡ ºÙ¿©¾ß ÇÑ´Ù.
float f1 = 5.0F ;

¨í char
ÀÚ¹Ù¿¡¼­ ¹®ÀÚ¸¦ ÀúÀåÇϱâ À§ÇØ »ç¿ëµÇ´Â µ¥ÀÌÅÍ Å¸ÀÔÀÌ´Ù. ÀÚ¹Ù´Â ¹®ÀÚ¸¦ Ç¥ÇöÇϱâ À§Çؼ­ À¯´ÏÄڵ带 »ç¿ëÇÑ´Ù. ±×·¡¼­ 16bit¸¦ ÇÊ¿ä·Î ÇÑ´Ù.
class CharTest{
  public static void main( String [] args ){
     char ch1 , ch2 ;
     ch1 = 88 ; 
     ch2 = 'Y' ; 

     System.out.println( "ch1= " + ch1 ) ; 
     System.out.println( "ch2= " + ch2 ) ; 
  }
}

---------- java ----------
ch1= X
ch2= Y
Ãâ·Â ¿Ï·á (0ÃÊ °æ°ú) - Á¤»ó Á¾·á
ch1¿¡ ¹®ÀÚ X¿¡ ÇØ´çÇÏ´Â ¾Æ½ºÅ°Äڵ尪ÀÎ 88ÀÌ ÇÒ´çµÇ¾ú´Ù. ±×·¡¼­ °á°ú°¡ 88·Î Ãâ·ÂµÇÁö ¾Ê°í X·Î Ãâ·ÂµÈ °ÍÀÌ´Ù.

¨î boolean
³í¸®ÀûÀÎ °ªÀ» À§Çؼ­ booleanÀ̶ó´Â °£´ÜÇÑ Å¸ÀÔÀ» °®´Â´Ù. ÀÌ Å¸ÀÔÀº true ¿Í falseÁß Çϳª¸¦ °®´Â´Ù.
boolean b = true ;
true³ª false´Â ¹®ÀÚ°¡ ¾Æ´Ï±â ¶§¹®¿¡ '' , ""¸¦ ºÙÀÌÁö ¾Ê´Â´Ù.

2.2.3 Reference Type

°´Ã¼¿¡ ´ëÇÑ ºÎºÐÀ» ¸ÕÀú ¾Ë¾Æ¾ß Çϱ⠶§¹®¿¡ ³ªÁß¿¡ °´Ã¼¸¦ ¹è¿ì¸é¼­ ´Ù½Ã ´Ù·ç°Ú´Ù.

2.2.4 º¯¼ö

º¯¼ö´Â ÀÚ¹Ù ÇÁ·Î±×·¥¿¡¼­ ±â¾ï Àå¼ÒÀÇ ±âº» ´ÜÀ§ÀÌ´Ù.

¨ç º¯¼ö ¼±¾ðÇϱâ

DataType º¯¼ö¸í = °ª ;
¿¹´Â ¾Æ·¡¿Í °°´Ù.
int a , b, c ;
int d = 3 ;
byte z = 22 ;
double pi = 3.15 ;
char x = 'x' ;

Âü°í¹®Çå
  • javanuriÀÇ Java Beginner
  • http://www.upc.or.kr/juotte/javatutor/week_02/jp02_4_doc.html
  • The Complete Reference Java2 [´ë±¤¼­¸²]