ÀÚ·áÇü (Data Type)°ú Çüº¯È¯ (Casting)
¸®ÅÍ·²°ú º¯¼ö
'java ¼Ò°³' >> '°´Ã¼¿Í Ŭ·¡½º' ¿¹Á¦ Áß¿¡
ac1.withdraw(500L); ¶ó´Â Äڵ尡 ³ª¿É´Ï´Ù.
¿©±â¼ 500L °ú °°ÀÌ ¾²ÀÌ´Â ÇÁ·Î±×·¥ ¿ä¼Ò¸¦ ¸®ÅÍ·² ( Literal ) À̶ó°í ÇÕ´Ï´Ù.
¸®ÅÍ·²À» ÇÁ·Î±×·¥¿¡¼ ´Ü¼øÇÏ°Ô '°ª' ¿¡ ÇØ´çµÈ´Ù°í »ý°¢ÇÏ¸é µË´Ï´Ù.
º¯¼ö´Â '°ª'À» ÀúÀåÇϱâ À§ÇÑ ¸Þ¸ð¸® ±â¾ï°ø°£À» ÀǹÌÇÕ´Ï´Ù.
¸®ÅÍ·²°ú º¯¼ö ¸ðµÎ ÇÁ·Î±×·¥¿¡¼ »ç¿ëµÉ¶§´Â ƯÁ¤ ÀÚ·áÇü¿¡ ¼ÓÇÏ°Ô µË´Ï´Ù.
ÀÚ¹ÙÀÇ ÀÚ·áÇü(Data Type)
ÀÚ¹Ù¿¡¼ »ç¿ëµÇ´Â ÀÚ·áÇüÀº ´Â µÎ °¡Áö Á¾·ù°¡ ÀÖ½À´Ï´Ù.
- ±âº» ÀÚ·áÇü ( Primitive Type )
- ÂüÁ¶ ÀÚ·áÇü ( Reference Type )
±âº» ÀÚ·áÇüÀº ±âÁ¸ÀÇ ÀϹÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î, C ¿Í °°Àº ÀýÂ÷ÁöÇâÀû ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼ º¸¾Ò´ø ÀÚ·áÇüÀÔ´Ï´Ù. ÂüÁ¶ ÀÚ·áÇüÀº °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼ Ãß°¡µÈ ÀÚ·áÇüÀÔ´Ï´Ù.
±âº» ÀÚ·áÇü
| ŸÀÔ | ¼³¸í | ¿¹ |
|---|---|---|
| boolean | true ¶Ç´Â false ¸¦ ³ªÅ¸³»´Â ÀÚ·áÇü | boolean isTruth = true; |
| char | 2 ¹ÙÀÌÆ® ¹®ÀÚ µ¥ÀÌÅÍ ¹®ÀÚ, À¯´ÏÄÚµå ¹®ÀÚ, Á¦¾î ¹®ÀÚ¸¦ ÀÛÀº µû¿ÈÇ¥('') ¸¦ »ç¿ëÇÏ¿© Ç¥Çö |
char grade = 'A'; // ¹®ÀÚ char ch = '\uFFFF'; // 16Áø¼ö FFFF°ª¿¡ ÇØ´çÇÏ´Â À¯´ÏÄÚµå ¹®ÀÚ char ech = '\n'; // new line(\u000a) char ech = '\b'; // ¹é½ºÆäÀ̽º(\u0008) char ech = '\t'; // ÅÇ(\u0009) char ech = '\t'; // ÅÇ(\u0009) char ech = '\\'; // ¿ª½½·¡½Ã(\u005c) char ech = '\"'; // Å«µû¿ÈÇ¥(\u0022) char ech = '\''; // ÀÛÀºµû¿ÈÇ¥(\u0027) |
| byte | 1 ¹ÙÀÌÆ® Á¤¼öÇü µ¥ÀÌÅÍ | byte weight = 71; |
| short | 2 ¹ÙÀÌÆ® Á¤¼öÇü µ¥ÀÌÅÍ | short bill = 30000; |
| int | 4 ¹ÙÀÌÆ® Á¤¼öÇü µ¥ÀÌÅÍ | int balance = 56219618; |
| long | 8 ¹ÙÀÌÆ® Á¤¼öÇü µ¥ÀÌÅÍ ¹Ýµå½Ã ¼ýÀÚ µÚ¿¡ L ¸¦ ºÙÀδÙ. |
long balance = 56219000L; |
| float | 4 ¹ÙÀÌÆ® ½Ç¼öÇü µ¥ÀÌÅÍ ¹Ýµå½Ã ¼ýÀÚ µÚ¿¡ F ³ª f ¸¦ ºÙÀδÙ. |
float rate = 6.195F; |
| double | 8 ¹ÙÀÌÆ® ½Ç¼öÇü µ¥ÀÌÅÍ | double rate = 6.195; |
ÀÚ¹Ù Äڵ峻¿¡¼ 10 °ú °°Àº ¸®ÅÍ·²Àº JVM ÀÌ int ÇüÀ̶ó°í ÀνÄÇϰí, 72.5 ¿Í °°Àº ¸®ÅÍ·²Àº ·Î double ·Î ÀνÄÇÕ´Ï´Ù.
ÂüÁ¶ ÀÚ·áÇü
À§´Â ÂüÁ¶ ÀÚ·áÇü¿¡ ´ëÇÑ ´ëÀÔ¹®À» º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.
account01 ´Â Account Çü ÂüÁ¶Çü º¯¼ö(·¹ÆÛ·±½º)ÀÔ´Ï´Ù.
À§ÀÇ ´ëÀÔ¹®À» ÅëÇØ¼ account01 ¿¡ ÀúÀåµÇ´Â °ªÀº »ý¼ºµÈ °´Ã¼ÀÇ ¸Þ¸ð¸® ÁÖ¼Ò°ªÀÔ´Ï´Ù.
ÁÖÀÇÇÒ Á¡Àº account01 ¿¡ »ý¼ºµÈ °´Ã¼ ÀÚü°¡ ÀúÀåµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó´Â Á¡ÀÔ´Ï´Ù.
À§ ´ëÀÔ¹®¿¡ ÀÇÇØ¼ account01 Àº new Ű¿öµå¸¦ »ç¿ëÇØ¼ »ý¼ºµÈ Account Çü °´Ã¼À» Á¢±ÙÇÒ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù.
°´Ã¼¿¡ Á¢±ÙÇÒ ¶§´Â .(µµÆ®)¸¦ ÀÌ¿ëÇÕ´Ï´Ù.
account01.balance = 10000000L;
¸¸¾à account01 ÀÌ ¾î¶² °´Ã¼µµ °¡¸£Å°Áö ¾Êµµ·Ï ÇÏ·Á¸é null À» ÇÒ´çÇÕ´Ï´Ù.
Çüº¯È¯(Casting)
Çüº¯È¯À̶õ º¯¼ö°¡ ÀúÀåÇϰí ÀÖ´Â °ªÀ̳ª ¸®ÅÍ·²À» ¿øÇÏ´Â ÀÚ·áÇüÀ¸·Î º¯È¯½ÃŰ´Â ÀÛ¾÷À» ÀǹÌÇÕ´Ï´Ù.
¸¸ÀÏ º¯¼ö¿Í ÇÒ´çµÇ´Â °ªÀÇ ÀÚ·áÇüÀÌ µ¿ÀÏÇÏÁö ¾Ê´Ù¸é JVM ÀÌ ÀÚµ¿ÀûÀ¸·Î Çüº¯È¯À» ÇØÁÖ´Â °æ¿ì¿Í ÇÁ·Î±×·¡¸Ó°¡ ¸í½ÃÀûÀ¸·Î
Çüº¯È¯À» ÇØÁÖ¾î¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
JVM ÀÌ ÀÚµ¿ÀûÀ¸·Î Çüº¯È¯À» ÇØÁÖ´Â °æ¿ì¸¦ ¾Ï¹¬Àû Çüº¯È¯À̶ó°í ÇÏ°í ¸í½ÃÀû Çüº¯È¯À̶õ ÇÁ·Î±×·¡¸Ó°¡ Çʿ信 µû¶ó¼ °Á¦ÀûÀ¸·Î Çüº¯È¯À» ½ÃŰ´Â °ÍÀ»
¸»ÇÕ´Ï´Ù.
¾î¶² °æ¿ì¿¡µµ ¼±¾ðµÈ º¯¼öÀÇ ÀÚ·áÇüÀ» ¹Ù²Ü ¼ö´Â ¾ø½À´Ï´Ù.
¾Ï¹¬Àû Çüº¯È¯(Up-Casting)
¸®ÅÍ·² 3 Àº ¿ø·¡ int ÇüÀ̾úÀ¸³ª long ÇüÀ¸·Î º¯°æµÈ ÈÄ °ªÀÌ ÇÒ´çµË´Ï´Ù.
ÀÌ·± °úÁ¤À» JVM ÀÌ ¾Ë¾Æ¼ ÀÚµ¿ÀûÀ¸·Î ÇØÁֱ⠶§¹®¿¡ '¾Ï¹¬Àû Çüº¯È¯'À̶ó°í ÇÕ´Ï´Ù.
ÀÚ¹Ù Äڵ忡¼ 3.5 À̿Ͱ°ÀÌ »ç¿ëÇϸé JVM Àº À̸¦ double ÇüÀ¸·Î ÀνÄÇÕ´Ï´Ù.
ÀÚ¹ÙÅ©µå¿¡¼ 3 °ú 4 °ú °°ÀÌ »ç¿ëÇϸé JVM Àº À̸¦ int ÇüÀ¸·Î ÀνÄÇÕ´Ï´Ù.
¿¹Á¦Ã³·³ ´Ù¸¥ ÀÚ·áÇüÀÇ °ªµéÀÌ ¿¬»ê¿¡ Âü¿©ÇÒ ¶§, ±× Áß °¡Àå Å« ÀÚ·áÇüÀ¸·Î ¾Ï¹¬Àû Çüº¯È¯ÀÌ ÀϾ´Ï´Ù.
int x = 3.0 + 3.5 + 4.0
°á°ú°ªÀÌ 10.5 ÀÎ dobule ÇüÀÌ µÉÅÙµ¥ ÀÌ °ªÀ» int Çü º¯¼ö x ¿¡ ÀúÀåÇÏ·Á Çϴ±º¿ä.
double Çü °ªÀ» int Çü º¯¼ö¿¡ ÇÒ´çÇÏ·Á°í Ç߱⠶§¹®¿¡ ÄÄÆÄÀÏ ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
¸í½ÃÀû Çüº¯È¯(Down-Casting)
º¯¼ö¿¡ °ªÀ» ´ëÀÔÇÒ ¶§ °ªÀÇ ÀÚ·áÇüÀÌ º¯¼öÀÇ ÀÚ·áÇüº¸´Ù Å©´Ù¸é ÄÄÆÄÀÏ ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
À§¿¡¼ double ÇüÀÇ °ªÀ» float ÇüÀÇ º¯¼ö¿¡ ´ëÀÔÇÏ·Á°í Çϱ⠶§¹®¿¡ ÄÄÆÄÀÏ ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
ÄÄÆÄÀÏ ¿¡·¯¸¦ ¹æÁöÇÏ·Á¸é ¸í½ÃÀû Çüº¯È¯À» ÇÏ¿©¾ß ÇÕ´Ï´Ù.
int º¸´Ù ÀÛÀº Á¤¼öÇü ÀÚ·áÇü¿¡¼ »ê¼ú¿¬»ê½Ã ÁÖÀÇÇÒ »çÇ×
int º¸´Ù ÀÛÀº Å©±âÀÇ Á¤¼öÇü ÀÚ·áÇü¿¡¼ÀÇ »ê¼ú¿¬»êÀº ¼öÇàÇÒ ¶§ int ÇüÀ¸·Î º¯È¯µÇ¾î °è»êµË´Ï´Ù.
int, long, float, double Çü¿¡¼´Â ÀÌ·± ¹®Á¦°¡ ÀϾÁö ¾Ê½À´Ï´Ù.
short s1 = 1; short s2 = 2; short sum = s1 + s2; // ¿¡·¯!
s1 , s2 °¡ ÀúÀåÇϰí ÀÖ´Â °ªÀÌ ¿¬»ê¿¡ Âü¿©ÇÏ°Ô µÇ¸é ¸ðµÎ int ÇüÀ¸·Î Çüº¯È¯ µÇ¹Ç·Î °è»ê°á°ú´Â int ÇüÀÌ µË´Ï´Ù. µû¶ó¼ °è»ê°á°ú¸¦ short Çü º¯¼ö¿¡ ÀúÀåÇϱâ À§Çؼ´Â ¾Æ·¡¿Í °°Àº ¸í½ÃÀû Çüº¯È¯ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
¾Æ·¡ Ãâ·Â°ªÀº ?
int x = 10; int y = 4; int z = x / y; System.out.println(z);
10 À» 4·Î ³ª´©¸é 2.5 °¡ µË´Ï´Ù.
ÇÏÁö¸¸ x ¿Í y °¡ ¸ðµÎ int Çü º¯¼öÀ̹ǷΠ±× °è»ê°á°ú ¿ª½Ã int ÇüÀÔ´Ï´Ù.
±×·¡¼ 2.5 °¡ ¾Æ´Ï°í 2 °¡ Ãâ·ÂµË´Ï´Ù.
z º¯¼ö¸¦ double ÇüÀ¸·Î ¹Ù²Ù°í 2.5 °¡ Ãâ·ÂµÇ°Ô ÇÏ·Á¸é ?
¶Ç´Â
x ³ª y µÑ Áß¿¡ Çϳª¸¸ double ÇüÀ¸·Î ¸í½ÃÀû Çüº¯È¯À» ÇØÁÖ¸é µË´Ï´Ù.
ÂüÁ¶ ÀÚ·áÇü¿¡¼ÀÇ Çüº¯È¯
ÂüÁ¶ ÀÚ·áÇüÀÎ °æ¿ì¿¡µµ ¾Ï¹¬Àû Çüº¯È¯°ú ¸í½ÃÀû Çüº¯È¯ °³³äÀÌ ÀÖ½À´Ï´Ù.
¸¸ÀÏ ·¹ÆÛ·±½º°¡ °¡¸®Å°´Â °´Ã¼µéÀÌ ¼·Î »ó¼Ó °ü°è¿¡ ÀÖ´Ù¸é À̵é»çÀÌ¿¡ Çüº¯È¯ÀÌ °¡´ÉÇÕ´Ï´Ù.
ÀÚ½ÄŬ·¡½º child01 = new ÀÚ½ÄŬ·¡½º();
¸ðµÎ°¡ ¾Æ´Â Á¤»óÀûÀÎ »óȲÀÔ´Ï´Ù.
ÂüÁ¶ ÀÚ·áÇü¿¡¼ÀÇ ¾Ï¹¬Àû Çüº¯È¯
ºÎ¸ðÇüÀÇ ÂüÁ¶Çü º¯¼ö°¡ ÀÚ½Ä Å¬·¡½º ÇüÀÇ °´Ã¼¸¦ °¡¸®Å³ ¼ö ÀÖ½À´Ï´Ù.
ºÎ¸ðŬ·¡½º°¡ ¹üÀ§°¡ ÀÚ½Ä Å¬·¡½ºº¸´Ù ´õ ³Ð±â¿¡ ¾Ï¹¬Àû Çüº¯È¯(Up-Casting)ÀÌ ÀÚµ¿ÀûÀ¸·Î ÀϾ´Ï´Ù.
ÀÌ·² °æ¿ì ·¹ÆÛ·±½º parent02 ·Î ÇÒ Á¢±ÙÇÒ ¼ö ÀÖ´Â ÀڽݴüÀÇ ¸â¹ö´Â ºÎ¸ð·ÎºÎÅÍ »ó¼Ó¹ÞÀº ¸â¹ö¸¸ °¡´ÉÇÕ´Ï´Ù.
ÂüÁ¶ ÀÚ·áÇü¿¡¼ÀÇ ¸í½ÃÀû Çüº¯È¯
ÀÚ½ÄŬ·¡½º child02 = (ÀÚ½ÄŬ·¡½º)parent02;
child02 ´Â ÀÚ½ÄŬ·¡½º ÇüÀÇ ·¹ÆÛ·±½ºÀÔ´Ï´Ù.
= ¿À¸¥ÂÊ ½ÄÀº parent02 ·¹ÆÛ·±½ºÀÇ ÂüÁ¶°ªÀ» ÀÚ½ÄŬ·¡½º ÇüÀ¸·Î ¸í½ÃÀûÀÎ Çüº¯È¯À» ¼öÇàÇϰí ÀÖ½À´Ï´Ù.
String Ŭ·¡½º : ÀÚ¹Ù ÇÁ·Î±×·¥¿¡¼ ¹®ÀÚ¿À» »ç¿ëÇÏ·Á¸é
ÀÚ¹Ù¿¡¼ ¹®ÀÚ¿À» Ç¥ÇöÇÏ´Â ¹æ¹ýÀº String Ŭ·¡½º·ÎºÎÅÍ String °´Ã¼¸¦ »ý¼ºÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.
String Ŭ·¡½º´Â ÀÚ¹Ù API ¿¡ Á¸ÀçÇϴ Ŭ·¡½ºÀÔ´Ï´Ù.
µû¶ó¼ Strng Çü ·¹ÆÛ·±½º¸¦ ¼±¾ðÇϰí new Ű¿öµå¸¦ »ç¿ëÇØ¼ ·¹ÆÛ·±½º¿¡ ÇÒ´çÇÑ ´ÙÀ½ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
¸¸¾à ¿ì¸®ÀÇ ÇÁ·Î±×·¥¿¡¼ "¾È³çÇϼ¼¿ä" ¶ó´Â ¹®ÀÚ¿ÀÌ ÇÊ¿äÇÏ´Ù°í ÇÏ¸é ¾Æ·¡ ÄÚµåó·³ String °´Ã¼¸¦ »ý¼ºÇϰí
·¹ÆÛ·±½º¿¡ ÇÒ´çÇÏ¿© »ç¿ëÇÏ¸é µË´Ï´Ù.
±×·±µ¥ ÀÚ¹Ù¿¡¼´Â ´ÙÀ½À» Çã¿ëÇϰí ÀÖ½À´Ï´Ù.
ÀÌ´Â ÇÁ·Î±×·¥¿¡¼ ¹®ÀÚ¿ÀÌ ±âº» ÀÚ·áÇüó·³ ÀÚÁÖ »ç¿ëµÇ¹Ç·Î ¸¶Ä¡ ±âº» ÀÚ·áÇüÀ» »ç¿ëÇÏ´Â °Íó·³ ¾µ ¼ö ÀÖµµ·Ï ¹è·ÁÇÑ °ÍÀÔ´Ï´Ù.
String Ŭ·¡½º´Â ¹®ÀÚ¿À» ´Ù·ç´Â ´Ù¾çÇÑ ¸Þ¼Òµå¸¦ÀÌ Á¸ÀçÇÕ´Ï´Ù.
±× Áß ¿©±â¼´Â equals ¸Þ¼Òµå¸¦ ¼Ò°³ÇÕ´Ï´Ù.
equals ¸Þ¼Òµå´Â Object Ŭ·¡½º·ÎºÎÅÍ »ó¼Ó¹ÞÀº ¸Þ¼ÒµåÀÔ´Ï´Ù.
±×·±µ¥ String Ŭ·¡½º¿¡¼´Â equals ¸Þ¼Òµå¸¦ String °´Ã¼°¡ ³ªÅ¸³»´Â ¹®ÀÚ¿ÀÇ ³»¿ëÀ» ºñ±³Çϵµ·Ï ¿À¹ö¶óÀ̵ù(ÀçÁ¤ÀÇ)Çß½À´Ï´Ù.
µû¶ó¼ String °´Ã¼ÀÇ equals ¸Þ¼Òµå´Â ÀÚ½ÅÀÇ ¹®ÀÚ¿°ú equals ÀÇ ÆÄ¶ó¹ÌÅÍ·Î Àü´ÞµÇ´Â ¹®ÀÚ¿ÀÇ ³»¿ëÀ» °Ë»çÇØ¼ ³»¿ëÀÌ °°À¸¸é true,
°°ÀÌ ¾ÊÀ¸¸é false ¸®ÅÏÇÕ´Ï´Ù.
(Object Ŭ·¡½ºÀÇ equals ¸Þ¼Òµå´Â ·¹ÆÛ·±½ºÀÇ ÂüÁ¶°ªÀÌ °°ÀºÁö °Ë»çÇÕ´Ï´Ù.
´Ù½Ã ¸»ÇØ ºñ±³ÇÏ´Â ·¹ÆÛ·±½º°¡ °°Àº °´Ã¼¸¦ °¡¸®Å°´ÂÁö °Ë»çÇÏ´Â °ÍÀÌÁÒ)
- ´ÙÀ½ °Á : ¹è¿
- ÀÌÀü °Á : ½Äº°ÀÚ¿Í Å°¿öµå, ÁÖ¼®
