Çʵ带 ÃʱâÈÇÏ´Â °ø½ÄÀûÀÎ ¹æ¹ýÀº »ý¼ºÀÚÀÌÁö¸¸ ±× ¿Ü¿¡µµ ´õ °£ÆíÇÑ ¹æ¹ýÀÌ ÀÖ´Ù. ±âº»ÇüÀº Áö¿ªº¯¼ö¸¦ ¼±¾ðÇϵíÀÌ = ¿¬»êÀÚ¿Í ÇÔ²² ÃʱⰪÀ» ¹Ù·Î ÁöÁ¤Çϸé
µÈ´Ù. ¼±¾ð¹®¿¡ ÃʱⰪÀ» ÁöÁ¤ÇÏ´Â ¹æ¹ýÀ» ¸í½ÃÀû ÃʱâÈ(explicit
initialization)¶ó°í ÇÑ´Ù.
expinit |
½ÇÇà°á°ú |
class Time { boolean
am = true; int
hour = 12; int
minute = 0; int
second = 0; Time()
{ } Time(boolean
am, int hour, int minute, int secound) { this.am
= am; this.hour
= hour; this.minute
= minute; this.second
= secound; } void
whatTime() { System.out.print(am
? "¿ÀÀü ":"¿ÀÈÄ
"); System.out.println(hour
+ "½Ã " + minute + "ºÐ " + second + "ÃÊ"); } } class JavaTest { public
static void main(String[] args) { Time
midnight = new Time(); midnight.whatTime(); Time
now = new Time(false, 3, 23, 0); now.whatTime(); } } |
¿ÀÀü 12½Ã 0ºÐ 0ÃÊ ¿ÀÈÄ 3½Ã 23ºÐ 0ÃÊ |
ÇÊµå ¼±¾ð¹®¿¡¼ °¢ ½Ã°£¿ä¼Ò¿¡ ÃʱⰪÀ» ÁöÁ¤ÇÏ¿© ¿ÀÀü 12½Ã Á¤°¢
ÀÚÁ¤À¸·Î ÃʱâÈÇß´Ù. °´Ã¼¸¦ Èü¿¡ ÇÒ´çÇÒ ¶§ ¸í½ÃÀû ÃʱⰪÀÌ Çʵ忡 ´ëÀԵȴÙ. µðÆúÆ® »ý¼ºÀÚ´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê¾Æ ÃʱⰪÀ» À¯ÁöÇϸç Àμö¸¦ ¹Þ´Â »ý¼ºÀÚ´Â Àü´Þ¹ÞÀº °ªÀ¸·Î ¸í½ÃÀû ÃʱⰪÀ»
º¯°æÇÑ´Ù.
¿¹Á¦¿¡¼ µÎ °³ÀÇ °´Ã¼¸¦ »ý¼ºÇÑ´Ù. midnight °´Ã¼´Â µðÆúÆ®
»ý¼ºÀÚ¸¦ È£ÃâÇÏ¿© ÀÚÁ¤À¸·Î ÃʱâÈ ÇÏ°í now °´Ã¼´Â 4°³ÀÇ
½Ã°£ ¿ä¼Ò¸¦ ¸ðµÎ Àü´ÞÇÏ¿© ¿øÇÏ´Â °ªÀ¸·Î ÃʱâÈÇß´Ù. ¸í½ÃÀû ÃʱⰪÀº °´Ã¼°¡ Èü¿¡ ÇÒ´çµÉ ¶§ÀÇ ÃʱⰪÀÏ
»Ó ¾ðÁ¦µçÁö ´Ù¸¥ °ªÀ¸·Î ¹Ù²ð ¼ö ÀÖ´Ù.
ÇʵåÀÇ °³¼ö°¡ ¼ö½Ê°³³ª µÇ¸é »ý¼ºÀÚ¿¡¼ ÀÏÀÏÀÌ ÃʱâÈÇϱ⠹ø°Å·Ó´Ù. °´Ã¼¸¶´Ù
Ưº°È÷ ´Þ¶óÁú ÇÊ¿ä°¡ ¾ø´Â Çʵå´Â ¹«³ÇÑ °ªÀ¸·Î ¸í½ÃÀû ÃʱâÈÇÏ´Â °ÍÀÌ Æí¸®ÇÏ´Ù. ¼±¾ð¹®¿¡ ÀÏ´Ü ÃʱâÈÇØ
³õ°í ÇÊ¿äÇÑ ºÎºÐ¸¸ ´Ù¸¥ »ý¼ºÀÚ³ª ¸Þ¼µå·Î ´Ù½Ã ÃʱâÈÇÑ´Ù.
¸í½ÃÀû ÃʱâÈ´Â ´ëÀÔÀÇ ÇüŸ¦ ÃëÇϹǷΠ¿ìº¯Àº ÁÖ·Î ¸®ÅÍ·²ÀÌ´Ù. ÄÄÆÄÀÏÁß¿¡
°ªÀ» °áÁ¤ÇÒ ¼ö Àִ ǥÇö½Ä¸¸ ¿Ã ¼ö ÀÖÀ¸¸ç ¹®ÀåÀ» ½ÇÇàÇÒ ¼ö´Â ¾ø´Ù. º¹ÀâÇÑ ¼ö½ÄÀ̳ª ¸Þ¼µå È£Ãâ¹®Àº
ºÒ°¡´ÉÇϸç Á¶°Ç¹®À̳ª ·çÇÁ°°Àº °Íµµ »ç¿ëÇÒ ¼ö ¾ø´Ù.
ÃʱⰪÀ» °è»êÇØ¾ß ÇÑ´Ù¸é À̶§´Â ÃʱâÈ ºí·ÏÀ» »ç¿ëÇÑ´Ù. ÃʱâÈ ºí·ÏÀº
Ŭ·¡½º ¼±¾ð¹®¿¡ { } ºí·ÏÀ¸·Î ÀÛ¼ºÇÏ¸ç º°µµÀÇ À̸§Àº ¾ø´Ù. °´Ã¼¸¦
ÇÒ´çÇÑ Á÷ÈÄ¿¡ ÀÌ ºí·ÏÀÌ È£ÃâµÇ¾î Çʵ带 ÃʱâÈÇÑ´Ù. Ŭ·¡½º ³»ÀÇ À§Ä¡´Â ¾Æ¹«·¡µµ »ó°ü¾øÁö¸¸ Á¦ÀÏ ¸ÕÀú
È£ÃâµÈ´Ù´Â ¸é¿¡¼ ´Ù¸¥ ¸Þ¼µåº¸´Ù ´õ À§ÂÊ¿¡ µÎ´Â °ÍÀÌ º¸±â ÁÁ´Ù.
initblock |
½ÇÇà°á°ú |
class Time { boolean
am; int
hour; int
minute; int
second; //
ÃʱâÈ ºí·Ï { java.time.LocalTime
now = java.time.LocalTime.now(); hour
= now.getHour(); if
(hour >= 12) { hour
-= 12; am
= false; }
else { am
= true; } minute
= now.getMinute(); second
= now.getSecond(); } void
whatTime() { System.out.print(am
? "¿ÀÀü ":"¿ÀÈÄ
"); System.out.println(hour
+ "½Ã " + minute + "ºÐ " + second + "ÃÊ"); } } class JavaTest { public
static void main(String[] args) { Time
now = new Time(); now.whatTime(); } } |
¿ÀÈÄ 6½Ã 8ºÐ 48ÃÊ |
ÃʱâÈ ºí·Ï¿¡¼ LocalTime Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© ÇöÀç ½Ã°£À» Á¶»çÇÑ´Ù. ½Ã°£ °´Ã¼´Â ÀÚÁ¤º¸´Ù ÇöÀç ½Ã°£ÀÌ ´õ ¹«³ÇÏ°í ½Ç¿ëÀûÀÌ´Ù. ½ÇÇà
½ÃÁ¡ÀÇ ½Ã°£À» Á¶»çÇÏ°í ½Ã°£°ª¿¡ µû¶ó ¿ÀÀüÀÎÁö ¿ÀÈÄÀÎÁö ÆǺ°ÇØ¾ß ÇϹǷΠ´Ü¼øÇÑ ´ëÀÔÀ¸·Î´Â ¾î·Æ°í Äڵ尡 ÇÊ¿äÇÏ´Ù.
ÀÌ·± ÃʱâÈ Äڵ带 ÀÛ¼ºÇÏ´Â °÷ÀÌ ÃʱâÈ ºí·ÏÀÌ´Ù.
ÃʱâÈ ºí·ÏÀº °´Ã¼ ÇÒ´ç Á÷ÈÄ¿¡ È£ÃâµÇ¸ç »ý¼ºÀÚ¿¡¼ ´Ù¸¥ ÃʱⰪÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù. ¸ðµç »ý¼ºÀÚ¿¡¼ °øÀ¯ÇØ¾ß ÇÒ Äڵ带 ÃʱâÈ ºí·Ï¿¡ ÀÛ¼ºÇØ µÎ¸é ÄÚµåÀÇ Áߺ¹À» ¹æÁöÇÒ ¼ö ÀÖ´Ù. º¹ÀâÇÑ °´Ã¼ Ãʱâȳª ´ë±Ô¸ð ¹è¿¿¡ Á¤º¸¸¦ ¹Ì¸® Á¶»çÇÏ´Â °æ¿ì ÃʱâÈ ºí·ÏÀÌ ½Ç¿ëÀûÀÌ´Ù. ÃʱâÈ ºí·ÏÀ» ¿©·¯ °³ ¼±¾ðÇÒ ¼ö Àִµ¥ ÀÌ °æ¿ì À§¿¡¼ºÎÅÍ ¼ø¼´ë·Î ½ÇÇàµÈ´Ù.
ÃʱâÈ ¹æ¹ýÀÌ ÀÌ·¸°Ô ´Ù¾çÇÑ ÀÌÀ¯´Â °¢ ´Ü°è¸¶´Ù °¡´ÉÇÑ µ¿ÀÛÀÇ ÇÑ°è¿Í ÆíÀǼºÀÌ ´Ù¸£±â ¶§¹®ÀÌ´Ù.
l ¸í½ÃÀû ÃʱâÈ : ´ëÀÔ Çü½ÄÀÌ¶ó °£ÆíÇϳª ±âº»Çü¸¸ ÃʱâÈÇÒ ¼ö ÀÖ´Ù.
l ÃʱâÈ ºí·Ï : º¹ÀâÇÑ Ãʱâȵµ °¡´ÉÇÏÁö¸¸ °´Ã¼º°·Î ´Ù¸£°Ô ÃʱâÈÇÒ ¼ö ¾ø´Ù.
l »ý¼ºÀÚ : Àμö¸¦ Àü´Þ¹Þ¾Æ °´Ã¼º° ÃʱâÈ°¡ °¡´ÉÇÏ´Ù.
ÃʱâÈÀÇ º¹Àâµµ¿¡ µû¶ó °¡Àå °£ÆíÇÑ ¹æ¹ýÀ» ¼±ÅÃÇÑ´Ù. ÃʱâÈ ¹æ¹ýÀÌ
¸¹´Ù º¸´Ï ¿©·¯ °³ÀÇ ÃʱâÈ Äڵ尡 µ¿½Ã¿¡ Á¸ÀçÇÒ ¼ö Àִµ¥ ÀÌ °æ¿ì ¼ø¼°¡ Á¤ÇØÁ® ÀÖ´Ù.
ÄÄÆÄÀÏ·¯°¡ Á¤ÀÇÇÑ ±âº»°ªÀÌ °¡Àå ¸ÕÀú Àû¿ëµÇ°í ¸í½ÃÀû ÃʱâÈ, ÃʱâÈ
ºí·Ï, »ý¼ºÀÚ ¼øÀ¸·Î È£ÃâµÇ¸é¼ ÃʱâÈ°¡ ÁøÇàµÈ´Ù. ¿¹Á¦¸¦
¸¸µé¾î Å×½ºÆ®ÇØ º¸ÀÚ.
initorder |
½ÇÇà°á°ú |
class InitTest { int
field = 1; // ¸í½ÃÀû
ÃʱâÈ { field
= 2; // ÃʱâÈ
ºí·Ï } InitTest()
{ field
= 3; // »ý¼ºÀÚ } } class JavaTest { public
static void main(String[] args) { InitTest
init = new InitTest(); System.out.print(init.field); } } |
3 |
Á¤¼öÇüÀÇ field¸¦ ¼±¾ðÇÏ°í ¼¼ ±ºµ¥¼ ÀÌ Çʵ带 ÃʱâÈÇÏ¿´´Ù. ÀÌ °æ¿ì °¡Àå ³ªÁß¿¡ ½ÇÇàµÇ´Â »ý¼ºÀÚÀÇ ÃʱⰪÀÌ ÃÖÈÄ·Î Àû¿ëµÇ¸ç °´Ã¼ »ý¼º ÈÄ field°ªÀ» Âï¾î º¸¸é 3À¸·Î Ãâ·ÂµÈ´Ù. »ý¼ºÀÚ¸¦ ÁÖ¼® ó¸®Çϸé field´Â ¾Õ ¼ø¼ÀÎ ÃʱâÈ ºí·Ï¿¡ ÀÇÇØ 2°¡ µÇ¸ç ÃʱâÈ ºí·Ïµµ ÁÖ¼® ó¸®ÇÏ¸é ¸í½ÃÀûÀ¸·Î ÃʱâÈÇÑ 1ÀÌ µÈ´Ù. ¸¸¾à ¸í½ÃÀû ÃʱⰪµµ ÁÖ¼® ó¸®ÇØ ¹ö¸®°í Çʵ常 ¼±¾ðÇÏ¸é ¾î¶»°Ô µÉ±î?
int field;
ÀÌ·¸°Ô µÇ¸é ÄÄÆÄÀÏ·¯ÀÇ ±âº»°ªÀ¸·Î ÃʱâȵǴµ¥ ¼öÄ¡ÇüÀº 0, ¹®ÀÚ¿Àº "", °´Ã¼´Â null, ÁøÀ§ÇüÀº false°¡ µÈ´Ù. ´ë°³ÀÇ °æ¿ì 0Àº
Àǹ̾ø´Â °ªÀ̹ǷΠ¾î´À ´Ü°è¿¡¼°Ç ¿øÇÏ´Â °ªÀ¸·Î ÃʱâÈÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù.
±Ã±ØÀÇ ÃʱâÈ ¹æ¹ýÀº °´Ã¼º°·Î ¸¶À½´ë·Î ÃʱâÈÇÒ ¼ö ÀÖ´Â »ý¼ºÀÚÀÌ´Ù. Äڵ带
ÀÛ¼ºÇØ¾ß ÇÏ´Ï ¹ø°Å·ÓÁö¸¸ À¯¿¬¼ºÀº ³ô´Ù. ¸ðµç °´Ã¼¿¡ °øÅëÀûÀÎ °ªÀ̳ª ´Ü¼øÇÑ ¸®ÅÍ·²·Î ÃʱâÈÇÑ´Ù¸é ¾Õ
¼ø¼ÀÇ ´õ °£ÆíÇÑ ¹æ¹ýÀ» ¼±ÅÃÇÏ´Â °ÍÀÌ Æí¸®ÇÏ´Ù.
¿¬½À ¹®Á¦
1. Ŭ·¡½º¿¡ ´ëÇÑ
¼³¸íÀ¸·Î À߸øµÈ °ÍÀº?
¨ç Å°¿öµå class·Î ¼±¾ðÇÑ´Ù.
¨è ½Ç¼¼°èÀÇ »ç¹°À»
Ç¥ÇöÇÑ´Ù.
¨é ù ÀÚ¸¦
´ë¹®ÀڷΠǥ±âÇÏ´Â °ÍÀÌ °ü·ÊÀÌ´Ù.
¨ê ´Ù¸¥ ŸÀÔÀÇ
º¯¼ö ÁýÇÕÀÌ¸ç µ¿ÀÛÀº Ç¥ÇöÇÒ
¼ö ¾ø´Ù.
2. Ŭ·¡½º¿¡ ¼ÓÇÏ´Â
º¯¼ö¸¦ ĪÇÏ´Â ¿ë¾î°¡ ¾Æ´Ñ
°ÍÀº?
¨ç ÇÊµå ¨è
¼Ó¼º ¨é ÇàÀ§ ¨ê
»óÅÂ
3. Áö¿ªº¯¼ö¿Í ºñ±³ÇÑ
ÇʵåÀÇ Æ¯¼ºÀÌ ¾Æ´Ñ °ÍÀº?
¨ç °´Ã¼°¡ Á¸ÀçÇÏ´Â
µ¿¾È °ªÀ» À¯ÁöÇÑ´Ù.
¨è º°µµÀÇ Ãʱâ½ÄÀÌ
¾øÀ¸¸é ¾²·¹±â°ªÀ» °¡Áø´Ù.
¨é ¿ÜºÎ¿¡ ´ëÇØ
¼û±æ ¼ö ÀÖ´Ù.
¨ê ¸Þ¼µå°¡ ¾Æ´Ñ
Ŭ·¡½º¿¡ ¼Ò¼ÓµÈ´Ù.
4. Ŭ·¡½º¸¦ ¸ÕÀú
¼±¾ðÇÑ ÈÄ °´Ã¼¸¦ »ý¼ºÇÏ´Â
ÀÌÀ¯°¡ ¾Æ´Ñ °ÍÀº?
¨ç »ó¼Ó, ´ÙÇü¼ºÀ» ±¸ÇöÇϱâ À§ÇØ
¨è °°Àº Á¾·ùÀÇ
°´Ã¼¶ó´Â °ÍÀ» È®½ÇÈ÷ Çϱâ
À§ÇØ
¨é ´Ù¼öÀÇ °´Ã¼¸¦
Æí¸®ÇÏ°Ô »ý¼ºÇϱâ À§ÇØ
¨ê ŸÀÔÀÌ ´Ù¸¥
º¯¼ö¸¦ Æ÷ÇÔÇϱâ À§ÇØ
5. »ý¼ºÀÚÀÇ Æ¯Â¡ÀÌ
¾Æ´Ñ °ÍÀº?
¨ç °´Ã¼¸¦ ¸¸µç´Ù.
¨è Ŭ·¡½º¿Í À̸§ÀÌ
°°´Ù.
¨é ¸®ÅÏ°ªÀÌ ¾ø´Ù.
¨ê °´Ã¼ »ý¼º
ÈÄ Á÷Á¢ È£ÃâÇÒ ¼ö´Â
¾ø´Ù.
6. this¿¡ ´ëÇÑ
¼³¸íÀ¸·Î ¿ÇÁö ¾ÊÀº °ÍÀº?
¨ç °´Ã¼ÀÇ ¼Ò¼Ó
Ŭ·¡½º¸¦ ¹àÈù´Ù.
¨è °´Ã¼ ÀÚ½ÅÀÇ
¸â¹ö¸¦ ĪÇÒ ¶§ »ç¿ëÇÑ´Ù.
¨é »ý¼ºÀÚ¿¡¼ ´Ù¸¥
»ý¼ºÀÚ¸¦ È£ÃâÇÒ ¶§ »ç¿ëÇÑ´Ù.
¨ê ¸Þ¼µå³»¿¡¼ È£Ãâ
°´Ã¼¸¦ ÀǹÌÇÑ´Ù.
7. µðÆúÆ® »ý¼ºÀÚ¿¡
´ëÇÑ Á¤ÀÇ·Î ¿ÇÀº °ÍÀº?
¨ç ¸ðµç ¸â¹ö¸¦
ÃʱâÈÇÏ´Â »ý¼ºÀÚ
¨è Àμö°¡ ¾ø´Â
»ý¼ºÀÚ
¨é ¸ðµç °´Ã¼¿¡
´ëÇØ ÀÚµ¿À¸·Î È£ÃâµÇ´Â »ý¼ºÀÚ
¨ê ÄÄÆÄÀÏ·¯°¡ Ç×»ó
¸¸µé¾î ÁÖ´Â »ý¼ºÀÚ
8. ÃʱâÈ ºí·Ï¿¡
´ëÇÑ ¼³¸íÀ¸·Î ¿ÇÀº °ÍÀº?
¨ç ¸â¹ö¿¡ ´ëÇÑ
´Ü¼øÇÑ ´ëÀÔ¸¸ °¡´ÉÇÏ´Ù.
¨è »ý¼ºÀÚ È£Ãâ
ÈÄ¿¡ ÀÚµ¿À¸·Î ½ÇÇàµÈ´Ù.
¨é °´Ã¼º°·Î ´Ù¸£°Ô
ÃʱâÈÇÒ ¼ö ÀÖ´Ù.
¨ê ¿¬»ê¹®À̳ª ¸Þ¼µå
È£Ãâ µîÀÇ º¹ÀâÇÑ Ãʱâȵµ
°¡´ÉÇÏ´Ù.