ÀÚ¹ÙÀÇ Å¸ÀÔÀº Å©°Ô ±âº»Çü°ú ÂüÁ¶ÇüÀ¸·Î ³ª´©¾îÁö´Âµ¥ Ư¼ºÀÌ ¿ö³« ´Þ¶ó ¼¯¾î¼ »ç¿ëÇϱ⠾î·Æ´Ù. ±×·¡¼ ¹®Á¦°¡ »ý±â´Â °æ¿ì°¡ Á¾Á¾ ÀÖ´Ù.
int i = 1234;
String str = i.toString();
System.out.println(str);
ÀÌ ÄÚµåÀÇ Àǵµ´Â Á¤¼öÇü º¯¼ö i¿¡ ´ã±ä 1234 °ªÀ» ¹®ÀÚ¿·Î ¹Ù²Ù¾î Ãâ·ÂÇÏ´Â °ÍÀÌ´Ù. ¾çÂÊÀÇ Å¸ÀÔÀÌ ´Þ¶ó str = i; ½ÄÀ¸·Î ¹Ù·Î ´ëÀÔÇÒ ¼ö ¾ø´Ù. ±×·¡¼ i.toString()À¸·Î Á¤¼ö¸¦ ¹®ÀÚ¿·Î ¹Ù²Û ÈÄ ´ëÀÔÇÏ·Á Çߴµ¥ ÀÌ ±¸¹®µµ µÉ °Í °°Áö¸¸ ¿ª½Ã ¾ÈµÈ´Ù.
ÀÚ¹ÙÀÇ ¸ðµç Ŭ·¡½º´Â ObjectÀÇ ÈļÕÀÌÁö¸¸ ÀÌ´Â ¾îµð±îÁö³ª ÂüÁ¶ÇüÀÇ
°æ¿ì¿¡¸¸ ±×·¸´Ù. ±âº» ŸÀÔÀÇ º¯¼ö´Â °´Ã¼°¡ ¾Æ´Ï±â ¶§¹®¿¡
ObjectÀÇ Èļյµ ¾Æ´Ï¸ç toString ¸Þ¼µåµµ Áö¿øÇÏÁö ¾Ê´Â´Ù. ¸¸¾à Á¤¼ö°¡ ObjectÀÇ ÈļÕÀ̶ó¸é 1234.toString() °°Àº ±¸¹®µµ °¡´ÉÇØ¾ß Çϴµ¥ º¸´Ù½ÃÇÇ ¹º°¡ ¾î»öÇÏÁö ¾ÊÀº°¡?
ÀÌ ¹®Á¦ÀÇ ±Ùº» ¿øÀÎÀº str = i; ´ëÀÔ¹®ÀÇ Áº¯Àº ÂüÁ¶ÇüÀÌ°í
¿ìº¯Àº ±âº»ÇüÀ̶ó´Â µ¥ ÀÖ´Ù. ´ëÀÔÀÌ °¡´ÉÇÏ·Á¸é ¾çÂÊÀÇ Å¸ÀÔÀ» ¸ÂÃß¾î¾ß ÇÑ´Ù. strÀº ´ëÀÔÀ» ¹Þ´Â ÂÊÀÌ´Ï ¹Ù²Ü ¼ö ¾ø°í ±âº»ÇüÀÎ i¸¦ ÂüÁ¶ÇüÀ¸·Î
¹Ù²Ù¾î¾ß Çϴµ¥ ÀÌ·² ¶§ ·¡ÆÛ Å¬·¡½º¸¦ »ç¿ëÇÑ´Ù. ·¡ÆÛ(Wrapper)
Ŭ·¡½º´Â ±âº»ÇüÀÇ °ªÀ» °¨½Î´Â ÂüÁ¶ÇüÀÌ¸ç °¢ ±âº»Çü¿¡ ´ëÇØ ´ÙÀ½°ú °°Àº ·¡ÆÛ Å¬·¡½º°¡ Á¦°øµÈ´Ù.
±âº» ŸÀÔ |
·¡ÆÛ Å¬·¡½º |
byte |
Byte |
short |
Short |
char |
Character |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
boolean |
Boolean |
±âº» ŸÀÔ°ú öÀÚ´Â °ÅÀÇ °°µÇ ¾àÀÚ ´ë½Å ´Ü¾î Àüü¸¦ ´Ù ¾²¸ç ù ÀÚ°¡ ´ë¹®ÀÚÀÌ´Ù. »ç¿ë ¹æ¹ýÀº °ÅÀÇ ºñ½ÁÇÏ´Ï Integer À§ÁÖ·Î ¿¬±¸ÇØ º¸ÀÚ. ·¡ÆÛ Å¬·¡½ºÀÇ »ý¼ºÀÚ·Î ±âº»ÇüÀÇ º¯¼ö³ª ¸®ÅÍ·²À» Àü´ÞÇϸé ÀÌ °ªÀ» °¨½Î´Â ÂüÁ¶Çü °´Ã¼°¡ Èü¿¡ »ý¼ºµÈ´Ù.
ÀÌ·¸°Ô »ý¼ºµÈ ·¡ÆÛ´Â °´Ã¼À̹ǷΠObjectÀÇ ÈļÕÀ̸ç ObjectÀÇ ¸ðµç ¸Þ¼µå¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ´Ü, °ªÀ» °¨½Î±â¸¸ ÇÒ »ÓÀÌ¸ç ¿¬»êÀ» À§ÇÑ ¼öÄ¡Çü ŸÀÔÀÌ ¾Æ´Ï¾î¼ ±âº»Çüó·³ °ªÀ» º¯°æÇϰųª Áõ°¨½Ãų ¼ö´Â ¾ø´Ù. ·¡ÆÛ¸¦ »ç¿ëÇϸé Á¤¼ö¸¦ ¹®ÀÚ¿·Î ½±°Ô ¹Ù²Ü ¼ö ÀÖ´Ù.
intbox |
½ÇÇà°á°ú |
class JavaTest { public
static void main(String[] args) { int
i = 1234; Integer
wrapint = new Integer(i); String
str = wrapint.toString(); System.out.println(str); } } |
1234 |
IntegerÀÇ »ý¼ºÀÚ·Î Á¤¼öÇü º¯¼ö i¸¦ Àü´ÞÇÏ¿© wrapint °´Ã¼¸¦ »ý¼ºÇß´Ù. ÀÌ »ý¼º¹®¿¡ ÀÇÇØ ¸Þ¸ð¸®¿¡ ´ÙÀ½ °´Ã¼°¡ »ý¼ºµÈ´Ù. IntegerÀÇ
°´Ã¼´Â Èü¿¡ »ý¼ºµÇ¾î 1234¶ó´Â °ªÀ» °¡Áö¸ç ÀÌ °´Ã¼¸¦ ½ºÅÃÀÇ
wrapint ÂüÁ¶Çü º¯¼ö°¡ °¡¸®Å°°í ÀÖ´Â »óȲÀÌ´Ù.
wrapint °´Ã¼´Â ÂüÁ¶ÇüÀ̸ç ÀÌ °´Ã¼ÀÇ toString ¸Þ¼µå¸¦ È£ÃâÇÏ¿© ¹®ÀÚ¿·Î º¯È¯ÇÑ ÈÄ Ãâ·ÂÇß´Ù. º¯È¯
°úÁ¤À» ¿¬±¸Çϱâ À§ÇÑ ¿¹Á¦À̸ç Ãâ·Â¸¸À» ¸ñÀûÀ¸·Î ÇÑ´Ù¸é ±×³É i¸¦
printlnÀ¸·Î ¹Ù·Î Àü´ÞÇÏ´Â °ÍÀÌ ´õ °£ÆíÇѵ¥ »ç½Ç println ³»ºÎ¿¡¼ À§¿Í À¯»çÇÑ
Äڵ尡 ½ÇÇàµÈ´Ù. »ý¼ºÀÚ¸¦ È£ÃâÇÏ´Â ´ë½Å ´õ °£ÆíÇÑ ¹æ¹ýÀ¸·Î ·¡ÆÛ °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¼¼ ÄÚµå´Â ¸ðµÎ È¿°ú°¡ °°´Ù.
Integer wrapint = new Integer(i);
Integer wrapint = i;
Integer wrapint = Integer.valueOf(i);
·¡ÆÛ °´Ã¼¿¡ ±âº»Çü º¯¼ö¸¦ ¹Ù·Î ´ëÀÔÇÏ´Â °ÍÀÌ ´õ °£ÆíÇÏ´Ù. valueOf Á¤Àû
¸Þ¼µå´Â »ý¼ºÀÚ¿Í ±â´ÉÀÌ °ÅÀÇ °°Áö¸¸ °°Àº °ª¿¡ ´ëÇØ ·¡ÆÛ¸¦ ¶Ç »ý¼ºÇϸé Èü¿¡ ÀÌ¹Ì »ý¼ºµÈ ·¡ÆÛ¸¦ µ¹·Á ÁÖ¾î ¸Þ¸ð¸®¸¦ Àý¾àÇÏ´Â È¿°ú°¡ ÀÖ´Ù. ÀÚ¹Ù9 ÀÌÈÄ¿¡´Â ÀÌ ¹æ½ÄÀ» ´õ ±ÇÀåÇÏ¿© »ý¼ºÀÚ È£ÃâÀ» °æ°í·Î ó¸®ÇÏ¿©
»ç¿ë ÀÚÀ縦 À¯µµÇÑ´Ù. ·¡ÆÛÀÇ »ý¼ºÀÚ´Â ¹®ÀÚ¿·Î µÈ °ªµµ ¹Þ¾ÆµéÀδÙ.
strliteral |
½ÇÇà°á°ú |
class JavaTest { public
static void main(String[] args) { Integer
wrapint = new Integer("629"); String
str = wrapint.toString(); int
i = Integer.parseInt(str); System.out.println(i); } } |
629 |
"629" ¹®ÀÚ¿ ¸®ÅÍ·²À» IntegerÀÇ »ý¼ºÀÚ·Î Àü´ÞÇÏ¿© Á¤¼ö ·¡ÆÛ·Î º¯È¯Çؼ ÀúÀåÇÑ´Ù. ·¡ÆÛ
°´Ã¼ÀÇ toStringÀ» È£ÃâÇÏ¸é ·¡ÆÛ°¡ °¡Áø Á¤¼ö¸¦ ¹®ÀÚ¿·Î ¹Ù²Ù¾î ¹®ÀÚ¿ º¯¼ö¿¡ ´ëÀÔÇÒ ¼ö ÀÖ´Ù. ¹®ÀÚ¿À» ´Ù½Ã ±âº»Çü °ªÀ¸·Î ¹Ù²Ü ¶§´Â °¢ ·¡ÆÛÀÇ ´ÙÀ½ Á¤Àû ¸Þ¼µå¸¦ »ç¿ëÇÑ´Ù.
static int parseInt(String s [, int radix])
static long parseLong(String s [, int radix])
static float parseFloat(String s)
static double parseDouble(String s)
¹®ÀÚ¿ str¿¡¼ Á¤¼ö°ªÀ» ´Ù½Ã ÃßÃâÇÏ¿© Ãâ·ÂÇß´Ù. À̶§ Ãâ·ÂµÇ´Â 629´Â Á¤¼öÇüÀÇ °ªÀÌ´Ù. À§ ÄÚµå´Â ¹®ÀÚ¿À» Á¤¼ö·Î, Á¤¼ö¸¦ ´Ù½Ã ¹®ÀÚ¿·Î, ±×¸®°í ¹®ÀÚ¿¿¡¼ ´Ù½Ã Á¤¼ö¸¦ ÃßÃâÇÏ´Â ¾µµ¥¾ø´Â ÁþÀ» ÇÏ°í ÀÖ´Ù. ÇÏÁö¸¸
ÀÌ·± ŸÀÔÀÇ º¯È¯À» ²À ÇØ¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦¸¦ º¸ÀÚ.
stringint |
½ÇÇà°á°ú |
class JavaTest { public
static void main(String[] args) { String
a = "12", b = "34"; System.out.println(a
+ b); System.out.println(Integer.parseInt(a)
+ Integer.parseInt(b)); } } |
1234 46 |
¸í·ÉÇà Àμö³ª »ç¿ëÀÚ°¡ Á÷Á¢ ÀÔ·ÂÇÑ Á¤º¸´Â ¹®ÀÚ¿ÀÌ¾î¼ ±âº» ŸÀÔÀ¸·Î º¯È¯ÇØ¾ß ÇÑ´Ù. a¿¡ "12"°¡,
b¿¡ "34"°¡ ÀúÀåµÈ »óÅ¿¡¼ µÎ °ªÀ» ´õÇÏ°í ½ÍÀ» ¶§ a + b ÇÏ¸é µÉ °Í °°Áö¸¸ ¹®ÀÚ¿³¢¸® ¿¬°áµÇ¾î 1234°¡ µÉ »Ó
»ê¼úÀûÀÎ µ¡¼ÀÀº ÇÏÁö ¾Ê´Â´Ù. parseInt ¸Þ¼µå·Î ¹®ÀÚ¿¿¡¼ Á¤¼ö¸¦ ÃßÃâÇÏ¿© ´õÇØ¾ß ÇÑ´Ù. parseInt ¸Þ¼µå·Î ÃßÃâÇÑ Á¤¼ö°ªÀº ¿¬»ê½Ä¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
±âº»ÇüÀ» ÂüÁ¶ÇüÀ¸·Î º¯È¯ÇÏ´Â °ÍÀ» ¹Ú½Ì(Boxing)À̶ó°í Çϴµ¥
°ªÀ» ¹Ú½º·Î Æ÷ÀåÇÏ¿© °´Ã¼·Î ¸¸µç´Ù´Â ¶æÀÌ´Ù. ÀÌ¿Í ¹Ý´ë·Î ÂüÁ¶ÇüÀ» ±âº»ÇüÀ¸·Î º¯È¯ÇÏ´Â °ÍÀ» ¾ð¹Ú½Ì(Unboxing)À̶ó°í ÇÑ´Ù. ¾ð¹Ú½ÌÀº ·¡ÆÛ¿¡ ÀúÀåµÇ¾î ÀÖ´Â ±âº»ÇüÀÇ
°ªÀ» ´Ù½Ã ²ôÁý¾î ³»´Â °ÍÀÌ¸ç ´ÙÀ½ ¸Þ¼µå¸¦ È£ÃâÇÑ´Ù.
¸Þ¼µå |
¼³¸í |
byteValue |
byte ŸÀÔÀ¸·Î ÃßÃâÇÑ´Ù. |
shortValue |
shortŸÀÔÀ¸·Î ÃßÃâÇÑ´Ù. |
intValue |
int ŸÀÔÀ¸·Î ÃßÃâÇÑ´Ù. |
longValue |
long ŸÀÔÀ¸·Î ÃßÃâÇÑ´Ù. |
floatValue |
float ŸÀÔÀ¸·Î ÃßÃâÇÑ´Ù. |
doubleValue |
double ŸÀÔÀ¸·Î ÃßÃâÇÑ´Ù. |
charValue |
char ŸÀÔÀ¸·Î ÃßÃâÇÑ´Ù. |
booleanValue |
boolean ŸÀÔÀ¸·Î ÃßÃâÇÑ´Ù. |
ÀÌ ¸Þ¼µå´Â ¸ðµç ·¡ÆÛ Å¬·¡½º¿¡ Á¤ÀǵǾî ÀÖ¾î ²À ÀúÀåµÈ ŸÀÔÀ¸·Î¸¸ ¾ð¹Ú½ÌÇØ¾ß ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¹Ú½ÌÇÒ ¶§´Â Á¤¼ö·Î ³Ö°í ¾ð¹Ú½ÌÇÒ ¶§´Â ½Ç¼ö·Î »©³¾ ¼öµµ ÀÖ´Ù.
unbox |
½ÇÇà°á°ú |
class JavaTest { public
static void main(String[] args) { Integer
wrapint = new Integer(629); int
i = wrapint.intValue(); System.out.println(i); Double
wrapdouble = new Double("3.14"); int
di = wrapdouble.intValue(); System.out.println(di); } } |
629 3 |
À§ÂÊ ÄÚµå´Â 629¶ó´Â ¸®ÅÍ·²À» ·¡ÆÛ¿¡ ³Ö¾ú´Ù°¡ ´Ù½Ã »©³½´Ù. ·¡ÆÛÀÇ °ªÀ» ´Ù½Ã Á¤¼öÇüÀ¸·Î ¹Ù²Ù°í ½ÍÀ¸¸é intValue ¸Þ¼µå¸¦
È£ÃâÇÑ´Ù. µÎ ¹ø° ÄÚµå´Â ½Ç¼ö¸¦ ·¡ÆÛ¿¡ ³Ö¾î ³õ°í Á¤¼ö ŸÀÔÀ¸·Î »©³½´Ù.
¾ð¹Ú½Ì °úÁ¤¿¡¼ ¼Ò¼öÁ¡ ÀÌÇÏ°¡ ¶³¾îÁ® ³ª°¡°í Á¤¼öºÎ¸¸ Ãâ·ÂµÈ´Ù. ·¡ÆÛ¸¦
»ç¿ëÇϸé ŸÀÔ³¢¸® º¯È¯ÀÌ °¡´ÉÇѵ¥ ±»ÀÌ ÀÌ·¸°Ô ÇØ¾ß ÇÒ ÀÌÀ¯´Â ¾ø´Ù. ½Ç¼öÇüÀ» Á¤¼öÇüÀ¸·Î ¹Ù²Ù°í ½Í¾ú´Ù¸é
±×³É ij½ºÆ® ¿¬»êÀÚ¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ Æí¸®ÇÏ´Ù.
¹Ú½Ì°ú ¾ð¹Ú½ÌÀº ´ë°³ÀÇ °æ¿ì ÀÚµ¿À¸·Î ¼öÇàµÇ¾î Á÷Á¢ ÇØ¾ß ÇÒ °æ¿ì´Â µå¹°´Ù. ÀÚ¹Ù 5 ÀÌÈÄ¿¡´Â ÄÄÆÄÀÏ·¯°¡ ÇÊ¿äÇÏ´Ù°í ÆÇ´ÜÇÒ ¶§ ¾Ë¾Æ¼ ¹Ú½Ì°ú ¾ð¹Ú½ÌÀ» ¼öÇàÇϴµ¥ ÀÌ ±â´ÉÀ» ÀÚµ¿ ¹Ú½Ì(Auto boxing)À̶ó°í ÇÑ´Ù. ÀÚµ¿ ¹Ú½ÌÀÇ ¿¹´Â ¾îµð¼³ª ÈçÈ÷
º¼ ¼ö Àִµ¥ ´ëÇ¥ÀûÀÎ ¿¹°¡ ´ÙÀ½ ¸Þ¼µå È£Ãâ¹®ÀÌ´Ù.
System.out.println(i);
Áö±Ý±îÁö °è¼Ó »ç¿ëÇØ ¿Ô´ø ¹®ÀåÀε¥ ¿©±â¼ ¹Ú½ÌÀÌ ÀϾÙ. Äֿܼ¡
¹®ÀÚ¿À» Ãâ·ÂÇÏ´Â printlnÀº Á¤¼ö¸¦ ¹®ÀÚ¿·Î ¹Ù²Û ÈÄ Ãâ·ÂÇÑ´Ù.
³»ºÎ¿¡¼ i¸¦ Integer °´Ã¼·Î Æ÷ÀåÇÑ ÈÄ toString ¸Þ¼µå¸¦ È£ÃâÇÏ¿© ¹®ÀÚ¿·Î ¹Ù²Ù´Â 󸮰¡ ¼öÇàµÈ´Ù. ´ÙÀ½Àº
ÀÚµ¿ ¾ð¹Ú½ÌÀÌ ÀϾ´Â ¿¹ÀÌ´Ù.
int i = wrapint;
Á¤¼öÇü º¯¼ö¿¡ Á¤¼ö ·¡ÆÛ¸¦ ´ëÀÔÇϸé À̶§´Â ·¡ÆÛ¿¡ ÀúÀåµÈ °ªÀ» ²¨³» ´ëÀÔÇÑ´Ù.
±»ÀÌ intValue ¸Þ¼µå¸¦ È£ÃâÇÏÁö ¾Ê¾Æµµ ·¡ÆÛÀÇ °ªÀÌ Àß ÃßÃâµÈ´Ù. ²À ÇÊ¿äÇÑ °÷¿¡ ´ëÇØ ÄÄÆÄÀÏ·¯°¡ ¾Ë¾Æ¼ ¹Ú½Ì°ú ¾ð¹Ú½ÌÀ» ó¸®ÇϹǷΠ±âº»Çü°ú ÂüÁ¶ÇüÀ» ¼¯¾î¼ »ç¿ëÇصµ Å« ¹«¸®¾øÀÌ
Àß ½ÇÇàµÈ´Ù.
·¡ÆÛ´Â ±âº»ÇüÀÇ °ªÀ» °¨½Î´Â ÂüÁ¶ ŸÀÔÀÌÁö ¼öÇÐÀûÀÎ ¼öÄ¡¸¦ ÀúÀåÇÏ´Â °ªÀÌ ¾Æ´Ï¾î¼ °ªÀ» Áõ°¨½Ãų ¼ö ¾øÀ¸¸ç ¿¬»ê¿¡
Á÷Á¢ »ç¿ëÇÒ ¼ö ¾ø´Ù. ±×·¯³ª ÀÚµ¿ ¹Ú½Ì¿¡ ÀÇÇØ ÀÌ°ÍÀÌ °¡´ÉÇÑ °Íó·³ º¸À̱⵵ ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦ÀÇ µ¿ÀÛÀ» ¿¬±¸ÇØ º¸ÀÚ.
autobox |
½ÇÇà°á°ú |
class JavaTest { public
static void main(String[] args) { Integer
a = new Integer(3); Integer
b = new Integer(4); int
c = a + b; System.out.println(c); Integer
d = new Integer(12); d++; System.out.println(d); } } |
7 13 |
µÎ °³ÀÇ Á¤¼ö ·¡ÆÛ¸¦ + ¿¬»êÀÚ·Î ´õÇØ Á¤¼öÇü º¯¼ö c¿¡ ´ëÀÔÇß´Ù. ÂüÁ¶ÇüÀÎ ·¡ÆÛ´Â +
¿¬»êÀÚ¿Í ÇÔ²² ¾µ ¼ö ¾ø´Â °ÍÀÌ ¿øÄ¢ÀÌÁö¸¸ ÄÄÆÄÀÏ·¯´Â ÀÌ ±¸¹®¿¡¼ a¿Í b¿¡ ´ëÇØ ÀÚµ¿ ¾ð¹Ú½ÌÀ» ¼öÇàÇÏ¿© ¼öÄ¡Çü°ªÀ» ²¨³½ ÈÄ ´õÇÑ´Ù. °á±¹
ÀÌ ¿¬»ê¹®Àº ³»ºÎÀûÀ¸·Î ´ÙÀ½°ú °°ÀÌ Ã³¸®µÈ´Ù.
int c = a.intValue() + b.intValue();
¾Æ·¡ÂÊÀÇ ÄÚµå´Â 12¶ó´Â Á¤¼ö°ªÀ» °¡Áø d ·¡ÆÛ¸¦ 1 Áõ°¡½ÃŲ´Ù. ·¡ÆÛ¿¡
´ëÇØ ++ ¿¬»êÀÚ¸¦ Àû¿ëÇÏ´Â °Íµµ ¸»ÀÌ ¾ÈµÇÁö¸¸ ÀÚµ¿ ¾ð¹Ú½Ì°ú ¹Ú½ÌÀÌ µ¿½Ã¿¡ ÀϾ ÀÌ ±¸¹®ÀÌ °¡´ÉÇØÁø´Ù. ÄÄÆÄÀÏ·¯´Â d++À» ´ÙÀ½°ú °°ÀÌ Ã³¸®ÇÑ´Ù.
d = new Integer(d.intValue() + 1);
d¿¡ ÀúÀåµÈ Á¤¼ö°ªÀ» ¾ð¹Ú½ÌÇÑ ÈÄ ¿©±â¿¡ 1À» ´õÇÏ°í ±× °á°ú¸¦ ´Ù½Ã ¹Ú½ÌÇÏ¿© d¿¡ ´Ù½Ã ´ëÀÔÇÔÀ¸·Î½á °á±¹ d¿¡ ÀúÀåµÈ °ªÀÌ 1 Áõ°¡ÇÑ´Ù.
·¡ÆÛ¿¡´Â ´ëÀÀµÇ´Â ŸÀÔÀÇ Æ¯¼ºÀ» ¼³¸íÇÏ´Â ¿©·¯ °¡Áö »ó¼ö°¡ Á¤ÀǵǾî ÀÖ´Ù. ´ÙÀ½Àº Integer Ŭ·¡½º¿¡ Á¤ÀǵǾî ÀÖ´Â »ó¼öÀε¥ ´Ù¸¥ ŸÀÔÀÇ ·¡ÆÛµµ ºñ½ÁÇÏ´Ù.
»ó¼ö |
¼³¸í |
BYTES |
Â÷ÁöÇÏ´Â ¹ÙÀÌÆ® ¼ö |
SIZE |
Â÷ÁöÇÏ´Â ºñÆ® ¼ö |
MIN_VALUE |
Ç¥ÇöÇÒ ¼ö ÀÖ´Â ÃÖ¼Ò°ª |
MAX_VALUE |
Ç¥ÇöÇÒ ¼ö ÀÖ´Â ÃÖ´ë°ª |
TYPE |
Class °´Ã¼ |
ÀÌ »ó¼ö¸¦ ÅëÇØ Å¸ÀÔÀÇ Å©±â¿Í Ç¥Çö ¹üÀ§¸¦ »ó¼¼È÷ Á¶»çÇÒ ¼ö ÀÖ´Ù. ÀÌ
Á¤º¸´Â ¾ð¾î ½ºÆå¿¡ ºÐ¸íÈ÷ ¸í½ÃµÇ¾î ÀÖÁö¸¸ Ç÷§Æû¿¡ µû¶ó ¾à°£¾¿ Â÷ÀÌ°¡ ÀÖ¾î Á÷Á¢ Á¶»çÇÏ´Â °ÍÀÌ Á¤È®ÇÏ´Ù. ´ÙÀ½
¿¹Á¦´Â Á¤¼ö ŸÀÔÀÇ ¿©·¯ °¡Áö Á¤º¸¸¦ Á¶»çÇÏ¿© Ãâ·ÂÇÑ´Ù.
intinfo |
|
class JavaTest { public
static void main(String[] args) { System.out.printf("int
ŸÀÔÀÇ Å©±â = %d, ÃÖ¼Ò°ª = %d, ÃÖ´ë°ª = %d\n", Integer.SIZE,
Integer.MIN_VALUE, Integer.MAX_VALUE); System.out.printf("short
ŸÀÔÀÇ Å©±â = %d, ÃÖ¼Ò°ª = %d, ÃÖ´ë°ª = %d\n", Short.SIZE,
Short.MIN_VALUE, Short.MAX_VALUE); System.out.printf("long
ŸÀÔÀÇ Å©±â = %d, ÃÖ¼Ò°ª = %d, ÃÖ´ë°ª = %d\n", Long.SIZE,
Long.MIN_VALUE, Long.MAX_VALUE); } } |
|
½ÇÇà°á°ú |
int ŸÀÔÀÇ Å©±â = 32, ÃÖ¼Ò°ª = -2147483648, ÃÖ´ë°ª = 2147483647 short ŸÀÔÀÇ Å©±â = 16, ÃÖ¼Ò°ª = -32768, ÃÖ´ë°ª = 32767 long ŸÀÔÀÇ Å©±â = 64, ÃÖ¼Ò°ª = -9223372036854775808, ÃÖ´ë°ª =
9223372036854775807 |
°°Àº Á¤¼ö¶óµµ Å©±â¿¡ µû¶ó Ç¥Çö ¹üÀ§°¡ ´Ù¸£´Ù. Integer¿Í Long¿¡ Á¤ÀǵǾî ÀÖ´Â toBinaryString Á¤Àû ¸Þ¼µå´Â
±âº»Çü °ªÀ» ÀÌÁø¼ö·Î Ãâ·ÂÇÑ´Ù. ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇÏ¸é º¯¼öÀÇ ³»ºÎ Æ÷¸ËÀ» µé¿©´Ùº¼ ¼ö ÀÖ´Ù. ½Ç¼ö´Â ÀÌÁø¼ö·Î ¹Ù·Î Ãâ·ÂÇÒ ¼ö ¾ø¾î Integer³ª LongÀ¸·Î ¹Ù²Û ÈÄ Ãâ·ÂÇÑ´Ù. ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ºñÆ® ±¸Á¶¸¦ ¿¬±¸ÇÒ
¶§ ¾ÆÁÖ À¯¿ëÇÑ ±â´ÉÀÌ´Ù.
binarystring |
|
class JavaTest { public
static void main(String[] args) { System.out.println(Integer.toBinaryString(1234)); System.out.println(Integer.toBinaryString(Float.floatToRawIntBits(0.1f))); } } |
|
½ÇÇà°á°ú |
10011010010 111101110011001100110011001101 |
½Ç¼ö´Â °ªÀÇ ¹üÀ§ »Ó¸¸ ¾Æ´Ï¶ó Áö¼öÀÇ ¹üÀ§µµ »ó¼ö·Î Á¤ÀǵǾî ÀÖ´Ù. ´ÙÀ½
¿¹Á¦·Î µÎ ½Ç¼ö ŸÀÔÀÇ ±âº» Á¤º¸¸¦ Á¶»çÇØ º¸ÀÚ. Floatº¸´Ù´Â
DoubleÀÇ Áö¼ö ¹üÀ§°¡ ³Ð´Ù.
floatinfo |
|
class JavaTest { public
static void main(String[] args) { System.out.printf("FloatÀÇ
Å©±â = %d, Áö¼ö ÃÖ¼Ò°ª = %d, Áö¼ö ÃÖ´ë°ª = %d\n", Float.SIZE,
Float.MIN_EXPONENT, Float.MAX_EXPONENT); System.out.printf("DoubleÀÇ
Å©±â = %d, Áö¼ö ÃÖ¼Ò°ª = %d, Áö¼ö ÃÖ´ë°ª = %d\n", Double.SIZE,
Double.MIN_EXPONENT, Double.MAX_EXPONENT); } } |
|
½ÇÇà°á°ú |
FloatÀÇ Å©±â = 32, Áö¼ö
ÃÖ¼Ò°ª = -126, Áö¼ö ÃÖ´ë°ª = 127 DoubleÀÇ Å©±â = 64, Áö¼ö
ÃÖ¼Ò°ª = -1022, Áö¼ö ÃÖ´ë°ª = 1023 |
½Ç¼ö ŸÀÔ¿¡´Â ¾ÆÁÖ Æ¯º°ÇÑ ¼¼ °³ÀÇ »ó¼ö°¡ Á¤ÀǵǾî ÀÖ´Ù. NaNÀº
¼ö°¡ ¾Æ´Ï¶ó´Â ¶æ(Not a Number)À̸ç
NEGATIVE_INFINITY, POSITIVE_INFINITY´Â À½¾çÀ¸·Î ¹«ÇÑ´ëÀÇ °ªÀ» ÀǹÌÇÑ´Ù.
´ÙÀ½ ¿¹Á¦·Î ÀÌ »ó¼öÀÇ Àǹ̿¡ ´ëÇØ ¿¬±¸ÇØ º¸ÀÚ.
nan |
½ÇÇà°á°ú |
class JavaTest { public
static void main(String[] args) { System.out.println(3.14/0.0); System.out.println(-3.14/0.0); System.out.println(Math.sqrt(-2)); } } |
Infinity -Infinity NaN |
Á¤¼ö¸¦ 0À¸·Î ³ª´©´Â ¿¬»êÀº ¼öÇÐÀûÀ¸·Î Á¤ÀǵǾî ÀÖÁö ¾Ê¾Æ ºÒ°¡´ÉÇÑ
¿¬»êÀ̶ó´Â ¿¹¿Ü°¡ ¹ß»ýÇÑ´Ù. ÀÌ¿¡ ºñÇØ ½Ç¼ö¸¦ 0À¸·Î ³ª´©¸é
¹«ÇÑ´ë°¡ µÇ´Âµ¥ ÀÚ¹Ù´Â ÀÌ »óŸ¦ Ç¥ÇöÇϱâ À§ÇØ À½¾çÀ¸·Î µÎ °³ÀÇ ¹«ÇÑ´ë »ó¼ö¸¦ Á¤ÀÇÇÑ´Ù. ¾ç¼ö¸¦ 0À¸·Î ³ª´©¸é ¾çÀÇ ¹«ÇÑ´ë°¡ µÇ¸ç À½¼ö¸¦ 0À¸·Î ³ª´©¸é À½ÀÇ ¹«ÇÑ´ë°¡
µÈ´Ù.
NaNÀº ¼ýÀÚ°¡ ¾Æ´Ñ »óŸ¦ ÀǹÌÇϴµ¥ ´ëÇ¥ÀûÀÎ ¿¹°¡ À½¼öÀÇ Á¦°ö±ÙÀÌ´Ù. À½¼öÀÇ Á¦°ö±ÙÀº Á¸ÀçÇÏÁö ¾Ê¾Æ À̸¦ ±¸ÇÏ´Â ¿¬»êÀº ¿¡·¯À̸ç ÀÌ »óŸ¦ Ç¥ÇöÇÏ´Â °ªÀÌ ¹Ù·Î NaNÀÌ´Ù. ¶ÇÇÑ
"1.23a" ½ÄÀ¸·Î ¼ýÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ¿À» ¼öÄ¡ÇüÀ¸·Î º¯È¯ÇÒ ¶§µµ NaNÀÌ
¸®ÅϵȴÙ. ½Ç¼ö°¡ ¹«ÇÑ´ëÀÎÁö, À¯È¿ÇÑ °ªÀÎÁö Á¶»çÇÒ ¶§´Â DoubleÀÇ ´ÙÀ½ ¸Þ¼µå¸¦ »ç¿ëÇÑ´Ù.
boolean isInfinite()
static boolean isFinite(double d)
boolean isNaN()
static boolean isNaN(double v)
Double °´Ã¼¿¡ ´ëÇØ ¹Ù·Î È£ÃâÇÒ ¼ö ÀÖ´Â ¸Þ¼µåµµ ÀÖ°í ÀÓÀÇÀÇ double °ª¿¡ ´ëÇØ Á¶»çÇÏ´Â Á¤Àû ¸Þ¼µåµµ ÀÖ´Ù. ´ÙÀ½Àº isNaN ¸Þ¼µåÀÇ »ç¿ë¿¹ÀÌ´Ù.
isnan |
½ÇÇà°á°ú |
class JavaTest { public
static void main(String[] args) { double
d = Math.sqrt(-2); if
(Double.isNaN(d)) { System.out.println("¼ýÀÚ°¡
¾Æ´Ô"); }
else { System.out.println("¼ýÀÚ°¡
¸ÂÀ½"); } } } |
¼ýÀÚ°¡ ¾Æ´Ô |
-2ÀÇ Á¦°ö±ÙÀ» ±¸ÇÑ ÈÄ °á°ú°¡ Á¦´ë·Î °è»êµÇ¾ú´ÂÁö isNaN ¸Þ¼µå·Î Á¶»çÇß´Ù. À½¼öÀÇ Á¦°ö±ÙÀº ¾øÀ¸´Ï ¼ýÀÚ°¡ ¾Æ´Ï¶ó°í
³ª¿À´Â °ÍÀÌ Á¤»óÀÌ´Ù. NaN ¿©ºÎ¸¦ Á¶»çÇÒ ¶§ ´ÙÀ½°ú °°ÀÌ Á÷Á¢ ºñ±³ÇÏ¸é ¾ÈµÈ´Ù.
if (d == Double.NaN) {
NaNÀº ¼ö°¡ ¾Æ´Ï¶ó ÀÏÁ¾ÀÇ »óÅ¿©¼ NaN°ú ¼öÄ¡°ªÀ» ºñ±³ÇÏ¸é °á°ú´Â ¹«Á¶°Ç falseÀÌ´Ù. ½ÉÁö¾î ´ÙÀ½ ¹®Àåµµ false·Î Æò°¡µÈ´Ù.
if (Double.NaN == Double.NaN) {
== ¿¬»êÀÚÀÇ Á¿캯ÀÌ ¿ÏÀüÈ÷ ÀÏÄ¡Çصµ ºñ±³ °á°ú´Â false¿©¼ ºñ»ó½ÄÀûÀÌ´Ù. NaNÀº ÀÏÁ¾ÀÇ ¿¡·¯ »óȲÀε¥ ¿¡·¯°¡
¹ß»ýÇÏ´Â ÀÌÀ¯´Â ¿©·¯ °¡Áö°¡ ÀÖ´Ù. ¶È°°Àº ÀÌÀ¯·Î ¹ß»ýÇÑ ¿¡·¯°¡ ¾Æ´Ò ¼öµµ ÀÖ¾î NaNÀ» NaN°ú ºñ±³Çصµ ´Ù¸¥ °ÍÀ¸·Î Æò°¡ÇÑ´Ù. ºñ±³ ¿¬»êÀڷδ NaN ¿©ºÎ¸¦ Á¤È®È÷ ÆÇ´ÜÇϱ⠾î·Á¿ö isNaNÀ̶ó´Â º°µµÀÇ ¸Þ¼µå°¡ Á¦°øµÈ´Ù.