¼Ò¼³°°ÀºÀÚ¹Ù1ºÎ  4Àå. Class for Java  Java Hello World  

4.1 Java Hello World

4.1.1 HelloWorld.java

 ÀÚ¹ÙÀÇ Hello World¸¦ Ãâ·ÂÇÒ ½Ã°£ÀÔ´Ï´Ù. ¿©·¯ºÐµéÀÌ Hello World¸¦ Ãâ·ÂÇÏ´Â ¼ø°£ ´À³¥ ¼ö ÀÖ´Â °ÍÀº ¾Æ µÇ´Â±¸³ª¶ó´Â ´À³¦ÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ¸ðµç °ÍÀÌ ¸ðÈ£ÇÕ´Ï´Ù. Â÷¶ó¸® ±× ¸ðµç °ÍÀ» ÀÚ¼¼È÷ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 HelloWorld.java ¼Ò½ººÎÅÍ Çѹø º¸µµ·Ï ÇÏÁÒ.

 

HelloWorld.java(ÀÚ¹ÙÀÇ ±âº» ÇÁ·Î±×·¥ Å×½ºÆ®¸¦ À§ÇÑ ¿¹Á¦)

public class HelloWorld{

             public static void main(String[] args){

                           System.out.println("Hello World!");

             }

}

 

Hello WorldÇÁ·Î±×·¥À» ÀÛ¼ºÇϸ鼭 ³ªÅ¸³ª´Â ÀÚ¹ÙÀÇ °³³äµéÀº ¾Æ·¡¿Í °°½À´Ï´Ù.

 

n        main ¸Þ¼­µå

n        String¹è¿­ String[]

n        main ¸Þ¼­µåÀÇ ¸Å°³º¯¼ö args

n        staticŰ¿öµå

n        System.out.println

n        ¡°Hello World!¡± String

 

ÀÌ Ã¥Àº ÀüüÀûÀ¸·Î °£´ÜÇÏ°Ô ¼³¸íµÇ´Â °ÍµéÀ» ±æ°Ô ¼³¸íÇϰí ÀÖ½À´Ï´Ù. À̰ÍÀº ´ÜÁ¡ ¾Æ´Ñ ÀåÁ¡ÀÌ µÇ±æ ¹Ù¶ó¸é¼­! ¾Ë°í °è½Ã´Ù¸é ÀÌ ÀýÀ» °Ç³Ê ¶ç¾îµµ ÁÁ½À´Ï´Ù.

 

 

4.1.2 main¸Þ¼­µå

 ¸ðµç ÇÁ·Î±×·¥¿¡¼­ main¸Þ¼­µå´Â ÀÖ½À´Ï´Ù. ÀÚ¹ÙÀÇ main¸Þ¼­µå´Â ¾Æ·¡¿Í °°Àº Çü½ÄÀ¸·Î µÇ¾î ÀÖ½À´Ï´Ù.

 

ÀÚ¹ÙÀÇ main¸Þ¼­µå

public static void main(String[] args)

{

}

 

ÀÚ¹ÙÀÇ main¸Þ¼­µå´Â ¸Å°³º¯¼öÀÇ À̸§ À̿ܿ¡´Â ¹Ù²Ü ¼ö ¾ø´Â ¿ÏÀüÈ÷ Çü½ÄÈ­µÈ ¸Þ¼­µå ÀÔ´Ï´Ù. öÀÚµµ Ʋ¸®¸é ¾ÈµÇ°ÚÁÒ. ±×·¸´Ù¸é ÀÌ main¸Þ¼­µå°¡ ¾îµð¿¡ ÀÖ¾î¾ß ÇÏ´À³Ä°¡ °ü°ÇÀÔ´Ï´Ù. ÀÚ¹Ù´Â µüÈ÷ main¸Þ¼­µå¸¦ ³Ö¾î µÑ¸¸ÇÑ °÷ÀÌ ¾ø½À´Ï´Ù. ±×·¡¼­ main¸Þ¼­µå ¶ÇÇÑ Å¬·¡½º ³»¿¡ À§Ä¡½Ã۸ç main¸Þ¼­µå¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù¸é ½ÇÇà Ŭ·¡½º°¡ µÉ ¼ö ÀÖ½À´Ï´Ù.  

 

À§ÀÇ HelloWorld.java´Â ¸â¹ö¸¦ Æ÷ÇÔÇϰí ÀÖÁö ¾ÊÀº ºñ¾î Àִ Ŭ·¡½ºÀÔ´Ï´Ù. ¹°·Ð, ¿ÏÀüÈ÷ ºñ¾î ÀÖ´Â °ÍÀº ¾Æ´ÏÁö¸¸, Áö±Ý±îÁö ¹è¿î¹Ù·Î´Â HelloWorld¶ó´Â »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀÌ Çϳª »ý°åÀ¸¸ç ±× ¼Ó¿¡´Â main¸Þ¼­µå À̿ܿ¡´Â ¾î¶°ÇÑ °Íµµ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.

 

 º¸ÅëÀÇ ÇÁ·Î±×·¥Àº main¸Þ¼­µåÀÇ ½ÇÇàÀ» ³¡³»¸é ÇÁ·Î±×·¥Àº Á¾·áÇÕ´Ï´Ù. ÀÚ¹Ù¿¡¼­µµ main¸Þ¼­µå¸¦ Á¾·áÇϸé ÇÁ·Î±×·¥Àº Á¾·áÇÏ°Ô µË´Ï´Ù. ¿©·¯ºÐÀÌ ¾ÆÁÖ ÁÖÀÇÇØ¾ß ÇÏ´Â ¿ä¼Ò´Â main¸Þ¼­µå´Â HelloWorldŬ·¡½ºÀÇ ¸â¹öÀÔ´Ï´Ù. ÇÏÁö¸¸ Ŭ·¡½º ¿ÜºÎ¿¡ µû·Î ¶³¾îÁ® ÀÖ´Ù°í »ý°¢ÇÏ¼Å¾ß ÇÕ´Ï´Ù. mainÀº ¾Æ¿¹ ºÐ¸®µÈ ¿ä¼Ò¶ó°í »ý°¢ÇÏ´Â °ÍÀÌ ¿ÇÀ» °ÍÀÔ´Ï´Ù. ´ÙÀ½°ú °°Àº ¿¹¸¦ Çѹø º¸µµ·Ï ÇÏÁÒ.

 

MainTest.java(ÀÚ¹ÙÀÇ main¸Þ¼­µå)

public class MainTest{

             public void sayHello(){

                           System.out.println("Hello World!");

             }

 

             public static void main(String[] args){

                           MainTest m = new MainTest();

                           m.sayHello();

             }

}

C:\examples\4. Class for Basic Java>javac MainTest.java

C:\examples\4. Class for Basic Java>java MainTest

 

Hello World!

 

»õ·Î ¸¸µç µ¥ÀÌÅÍ Å¸ÀÔ MainTestŬ·¡½º´Â 2°³ÀÇ public ¸â¹ö¸Þ¼­µå¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ±×·±µ¥ mainÀº ±× MainTest³»ºÎ¿¡¼­ MainTest°´Ã¼¸¦ »ý¼ºÇÏ¿© sayHello¸â¹ö¸Þ¼­µå¸¦ È£ÃâÇϰí ÀÖ½À´Ï´Ù.  À§ÀÇ ÇÁ·Î±×·¥ ±¸Á¶´Â ¾Æ·¡¿Í °°½À´Ï´Ù.

ÀÌ ¶§ main¸Þ¼­µå ÀÚü°¡ ¾Æ¿¹ Ŭ·¡½º ¿ÜºÎ¿¡ µ¶¸³ÀûÀ¸·Î Á¸ÀçÇÑ´Ù°í »ý°¢ÇÑ´Ù¸é ÀÌ ¿¹Á¦¸¦ ½±°Ô ÀÌÇØ ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. MainTestÀÚü°¡ ½ÇÇàŬ·¡½ºÀ̱⠶§¹®¿¡ ¡°java MainTest¡±¶ó´Â Çü½ÄÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. MainTest¸¦ ½ÇÇàÇÒ ¶§ ´ç¿¬È÷ main¸Þ¼­µå¸¦ ã°í ±×¸®°í main¸Þ¼­µåÀÇ ÀÛ¾÷À» ³¡³»¸é ¸ðµç ÀÛ¾÷À» ¿Ï·áÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. À̰ÍÀº staticŰ¿öµå ¶§¹®¿¡ ÀϾ´Â Çö»óÀÔ´Ï´Ù. ÀÌ staticÀº main¸Þ¼­µåÀÇ ¸Å°³º¯¼ö¸¦ ¾Ë¾Æ º» ÈÄ ÀÚ¼¼È÷ »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

 

4.1.3 String[] args

 º¸ÅëÀÇ main¸Þ¼­µå¿Í °°ÀÌ ÀÚ¹ÙÀÇ main¸Þ¼­µåµµ ÇÁ·Î±×·¥ÀÇ ½ÇÇà ½Ã ¸Å°³º¯¼ö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº StringÀÇ ¹è¿­Çü½ÄÀ¸·Î ³Ñ¾î¿À¸ç ±× ¹è¿­ÀÇ À̸§À» args·Î Çϰڴٴ °ÍÀÔ´Ï´Ù. ÀÚ¹Ù¿¡¼­´Â ¹è¿­ÀÇ Ç¥½Ã¸¦ ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù. ½ºÆ®¸µ ¹è¿­ÀÏ °æ¿ì

 

n        String[] args

n        String args[]

 

À§ÀÇ Ç¥Çö µÑ ´Ù »ç¿ëÀº ÇÏÁö¸¸ ÀÚ¹Ù¿¡¼­´Â String[] args¸¦ ±âº»À¸·Î ÇÕ´Ï´Ù. ÀÌ Ã¥¿¡¼­´Â String[] argsó·³ ¹è¿­ÀÇ Ç¥½Ã¸¦ µ¥ÀÌÅÍ Å¸ÀÔ µÚ¿¡ ¸í½ÃÇϵµ·Ï ÇϰڽÀ´Ï´Ù. ¹è¿­¿¡ °üÇÑ ¹®Á¦´Â ¹è¿­À» ´Ù·ç´Â Àå¿¡¼­ ÀÚ¼¼ÇÏ°Ô ´Ù·çµµ·Ï ÇϰڽÀ´Ï´Ù. ¿©±â¼­ ¿©·¯ºÐÀÌ ±â¾ïÇØ µÎ¼Å¾ß ÇÏ´Â °ÍÀº String[] ¿©±â±îÁö°¡ µ¥ÀÌÅÍ Å¸ÀÔÀ̸ç args°¡ º¯¼ö¶ó´Â °ÍÀÔ´Ï´Ù. ÀÚ! ÀÌÁ¦ main¸Þ¼­µåÀÇ ¸Å°³º¯¼ö¸¦ »ç¿ëÇÏ´Â ±¸Á¶¿Í ¿¹Á¦¸¦ »ìÆì º¸±â·Î ÇÏÁÒ.

 

 

MainParam.java(ÀÚ¹ÙÀÇ main¸Þ¼­µåÀÇ ¸Å°³º¯¼ö¸¦ Å×½ºÆ® Çϱâ À§ÇÑ ¿¹Á¦)

public class MainParam {

             public static void main(String[] args){

                                        System.out.println(args[0]);

                                        System.out.println(args[1]);

             }

}

C:\examples\4. Class for Basic Java>javac MainParam.java

C:\examples\4. Class for Basic Java>java MainParam ¾È³ç! ÀÚ¹Ù

¾È³ç!

ÀÚ¹Ù

 

ÀÌ ¿¹Á¦´Â ¸Å°³º¯¼ö°¡ 2°³°¡ µé¾î ¿Â´Ù´Â °¡Á¤ ÇÏ¿¡ ÀÛ¼ºÇÏ¿´½À´Ï´Ù. ¹°·Ð 2°³ÀÇ ¸Å°³º¯¼ö¸¦ ½ÇÇà½Ã¿¡ ³Ö¾î¼­ ½ÇÇàÇÑ´Ù¸é À§¿¡¼­¿Í °°ÀÌ Á¤È®ÇÏ°Ô Ãâ·ÂÀÌ µÉ °ÍÀÔ´Ï´Ù. ±×¸®°í ¸Å°³º¯¼ö´Â °ø¹éÀ¸·Î ±¸ºÐÇϰí ÀÖ½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ Àå³­»ï¾Æ ¸Å°³º¯¼ö¸¦ Çϳª¸¸ ÁØ´Ù¸é ¿¡·¯°¡ ³ª°ÚÁÒ. main¿¡¼­ 2°³°¡ µé¾î ¿Â´Ù°í »ý°¢ÇÏ¿© 2°³¸¦ Ãâ·ÂÇϰí ÀÖÀ¸´Ï ´ç¿¬ÇÑ °á°ú °ÚÁÒ. ¹è¿­¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »çÇ×À» ¾Ë°í½ÍÀ¸½Ã¸é ¹è¿­ ºÎºÐÀ» Âü°íÇϽñ⠹ٶø´Ï´Ù.

 

 

4.1.4 static

 ÀÚ¹ÙÀÇ main¸Þ¼­µå ¾Õ¿¡ ¿©·¯ºÐÀÌ º¸Áö ¸øÇß´ø Ű¿öµå°¡ ÀÖ´Ù´Â °ÍÀ» ´«Ä¡ ëÀ» °ÍÀÔ´Ï´Ù. ÀÌ static ¶§¹®¿¡ main¸Þ¼­µå´Â ¿ÜºÎ¿¡ ÀÖ´Ù°í »ý°¢Ç϶ó°í Çß½À´Ï´Ù. ÀÚ¹Ù¸¦ ¹è¿ì´Â »ç¶÷µé¿¡°Ô ÀÌ staticÀº Ãʱ⿡ ¾ÆÁÖ ¸¹Àº È¥µ¿À» À¯¹ßÇÕ´Ï´Ù. ÀÌ staticÀÇ °³³äÀÚü´Â ¾ÆÁÖ ½±Áö¸¸ Àß ÀÌÇØ¸¦ ¸øÇÏ´õ±º¿ä. static¿¡ ´ëÇØ¼­ »ìÆì º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

 staticŰ¿öµå´Â static¸â¹öÇʵåÀÇ °³³äÀ» ³íÇÏÁö ¾Ê°í¼­´Â ¼³¸íÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù. ½ºÅÂÆ½ÀÇ Àǹ̴ ƯÁ¤ Ŭ·¡½º ŸÀÔÀÇ °´Ã¼¸¦ new¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© 100°³ »ý¼ºÇÑ´Ù¸é ³»ºÎÀÇ ¸â¹öµéÀº ¸ðµÎ ÇÑ ¼ÂÆ®¾¿ 100¼ÂÆ®°¡ ¸¸µé¾îÁý´Ï´Ù. ÇÏÁö¸¸ ¸â¹öÇʵå Áß¿¡ staticŰ¿öµå¸¦ ´Þ°í ÀÖ´Â ³ðÀÌ Çϳª ÀÖ´Ù°í ÇÑ´Ù¸é 100°³Áß¿¡ 99°³´Â ÇϳªÀÇ ¹­À½À¸·Î ¸¸µé¾îÁö¸ç ÇϳªÀÇ static ¸â¹öÇʵå´Â ¸ðµç °´Ã¼µéÀÌ °øÀ¯¸¦ ÇÏ´Â Çü½ÄÀ» »ç¿ëÇÕ´Ï´Ù. ±×·¸´Ù¸é static ¸â¹öÇʵå´Â ´Ù¸¥ ¸Þ¸ð¸® °ø°£¿¡ ÀÚ¸® Àâ°í ÀÖ°ÚÁÒ.

 

¿¹¸¦ µç´Ù¸é ¿©·¯ºÐÀÇ Çб³¿¡ ÄÄÇ»Åͽǿ¡ °£´Ù¸é ¸ðµç ÄÄÇ»ÅÍ´Â ÇϳªÀÇ ÆÐŰÁöó·³ ¸ðµç ¿ä¼Ò¸¦ Çϳª¾¿ ÀüºÎ °¡Áö°í ÀÖ½À´Ï´Ù. ±×¸®°í ÄÄÇ»ÅÍ ³»¿¡ ÇÁ¸°Æ®±îÁö ´Þ·Á ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ÇÁ¸°Æ®´Â ÇϳªÁÒ. ¸ðµç ÄÄÇ»ÅÍ¿¡¼­ ÇÁ¸°Æ®´Â »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ ÇÁ¸°Æ® Çϳª´Â ´Ù¸¥ °÷¿¡¼­ °øÀ¯¸¦ ÇÏ´Â Çü½ÄÀ» »ç¿ëÇÕ´Ï´Ù. ÀÌ ¶§ ÇÁ¸°Æ®´Â staticÀ¸·Î ÀâÇô ÀÖ´Â °ÍÀÔ´Ï´Ù. °´Ã¼°¡ ¾Æ¹«¸® ¸¹ÀÌ »ý¼ºµÇ´õ¶óµµ ½ºÅÂÆ½ ¸â¹öÇʵå·Î ¼±¾ðµÇ¾î ÀÖÀ¸¸é ÇÁ·Î±×·¥ ³»¿¡¼­ À¯ÀÏ ¹«ÀÏÇÑ ¸Þ¸ð¸®¸¦ Â÷ÁöÇÏ°Ô µË´Ï´Ù. ¸ðµç °´Ã¼¿¡¼­ °øÅëÀ¸·Î »ç¿ëÇÏ´Â Àü¿ªº¯¼öÀÇ °³³äÀ¸·Î »ç¿ëÇÒ ¶§ ÀÌ staticÀ» »ç¿ëÇÕ´Ï´Ù. static¿¡ °üÇÑ °£´ÜÇÑ ¿¹¸¦ Çϳª »ìÆì º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

StaticTest.java(½ºÅÂÆ½ ¸â¹öÇʵ带 Å×½ºÆ®Çϱâ À§ÇÑ ¿¹Á¦)

public class StaticTest{

             private static int sint=0;

             private int nint = 0;        

             public StaticTest(){

                           sint = sint +1;

                           nint = nint +1;

             }

             public void sayMember(){

                           System.out.println("sint:" + sint + "  nint:" + nint);

             }

             public static void main(String[] args){

                          

                           for(int i=0; i<10; i++){

                                        StaticTest s = new StaticTest();

                                        s.sayMember();

                           }

             }

}

C:\examples\4. Class for Basic Java>javac StaticTest.java

C:\examples\4. Class for Basic Java>java StaticTest

sint:1  nint:1

sint:2  nint:1

sint:3  nint:1

sint:4  nint:1

sint:5  nint:1

sint:6  nint:1

sint:7  nint:1

sint:8  nint:1

sint:9  nint:1

sint:10  nint:1

  

 

 

staticÀÇ Àǹ̴ À§¿¡¼­ ¼³¸íÇÏ¿´Áö¸¸ static¶§¹®¿¡ ³ªÅ¸³ª´Â Çö»óÀº Á¶±Ý ´Ù¸¥ ´À³¦ÀÏ ¼ö ÀÖ½À´Ï´Ù. staticÀº ´Ü ÇϳªÀÇ ¸Þ¸ð¸®¸¸ »ý¼ºÀÌ µË´Ï´Ù. ±×·¸±â ¶§¹®¿¡ ÇÑÂÊ °´Ã¼¿¡¼­ °ªÀ» ¹Ù²Ùµç ´Ù¸¥ ÂÊ °´Ã¼¿¡¼­ °ªÀ» ¹Ù²Ùµç ÇϳªÀÇ ±×¸©À» Ÿ°ÙÀ¸·Î Çϱ⠶§¹®¿¡ ¹Ù²Ù´Â Á·Á· ¹Ù²ð ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. À§ÀÇ ¿¹Á¦´Â °´Ã¼°¡ »ý¼ºµÇ´Â ¼ø°£, »ý¼ºÀÚ¸Þ¼­µå°¡ È£Ã⠵ǾîÁö¸é¼­ ¹Ù·Î °ªÀ» ¹Ù²Ù°í ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ nint´Â new ÇÒ¶§¸¶´Ù Çϳª¾¿ ¸¸µé¾îÁö¸ç sint´Â Çϳª ¸¸µé¾îÁö¸é ¸ðµç °´Ã¼°¡ °øÀ¯ÇÕ´Ï´Ù. Áï, nint´Â ±×¸©ÀÌ Ç×»ó »õ·Î ¸¸µé¾îÁö±â ¶§¹®¿¡ °ªÀ» ¾Æ¹«¸® Áõ°¡½ÃÄѵµ 1 ¹Û¿¡´Â ¾ÈµË´Ï´Ù. ±×·±µ¥ sint¶ó´Â ¸â¹öÇʵå´Â ¸Þ¸ð¸®°¡ ÇϳªÀ̱⶧¹®¿¡ °´Ã¼°¡ »ý¼º µÉ ¶§ ¸¶´Ù 1¾¿ Áõ°¡ÇÏ´Â Çö»óÀÌ ³ªÅ¸³³´Ï´Ù.

 

 static¸â¹öÇʵå´Â Ŭ·¡½º ³»¿¡ ¸â¹öÇʵåÀÔ´Ï´Ù. ±×¸®°í static¸â¹öÇʵ嵵 private°ú publicÀÇ ¹ýÄ¢Àº ¿Ïº®ÇÏ°Ô Áöŵ´Ï´Ù. ÀÌ·¯ÇÑ staticÀ» »ç¿ëÇÒ ¶§ °¡Àå Å« ¹®Á¦Á¡À¸·Î ´ëµÎµÇ´Â °ÍÀº ¼­·Î µ¥ÀÌÅ͸¦ ¿øÇÒ ¶§ µ¿±âÈ­ÀÇ ¹®Á¦ÀÔ´Ï´Ù. ÀÌ ¸»Àº ¿©·¯ºÐÀÌ °øÀ¯µÇ¾î ÀÖ´Â ÇÁ¸°Æ®·Î ¸ðµç »ç¶÷µéÀÌ printÇÒ ³»¿ëÀ» º¸³½´Ù¸é ¾î¶°ÇÑ ¿øÄ¢ ¾Æ·¡ ÇÁ¸°Æ®°¡ ÀÌ·ç¾îÁ®¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÇÁ¸°Æ®´Â ¾û¸ÁÀÌ µÇ°í ¸» °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¹®Á¦¸¦ µ¿±âÈ­¶ó°í Çϴµ¥ ÀÌ ¹®Á¦¿¡ ´ëÇØ¼­´Â µ¿±âÈ­¹®Á¦¸¦ ´Ù·ê ¶§ ÀÚ¼¼È÷ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù. ÀÚ ±×·¸´Ù¸é! ¿©±â¼­ static ¸Þ¸ð¸®°¡ ¾ðÁ¦ »ý¼ºÀÌ µÇ´Â°¡ÀÇ ¹®Á¦°¡ ³²¾Æ ÀÖ½À´Ï´Ù. ¾ðÁ¦ »ý¼ºÀÌ µÇ´ÂÁö ±× Áõ°Å¸¦ ¸¶·ÃÇØ º¸ÁÒ.

 

StaticTime.java(½ºÅÂÆ½ ¸â¹öÇʵåÀÇ ÃʱâÈ­¸¦ Å×½ºÆ®Çϱâ À§ÇÑ ¿¹Á¦)

public class StaticTime{

             private static int sint=0;

             static{

                           sint = 100;

                           System.out.println("sint:" + sint);

             }

             private int nint = 0;        

             public static void main(String[] args){

                           StaticTime s = null;

             }

}

C:\examples\4. Class for Basic Java>javac StaticTime.java

 

C:\examples\4. Class for Basic Java>java StaticTime

sint:100

 

ÀÌ ¿¹Á¦¿¡¼­ ¿ì¸®´Â »õ·Î¿î °³³äÀÎ ½ºÅÂÆ½ ºí·°À» º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌ static ºí·ÏÀº static¿µ¿ªÀÇ ¸Þ¸ð¸®¸¦ ±¸¹®»óÀ¸·Î ÇÚµé ÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. ¸»ÀÌ ¾î·ÆÁÒ. ´Ù¸£°Ô À̾߱â ÇÑ´Ù¸é, staticÀÌ È°¼ºÈ­ µÉ ¶§ ´Ü Çѹø ½ÇÇàµÇ´Â ¿µ¿ªÀÌ ½ºÅÂÆ½ ÃʱâÈ­ ºí·ÏÀÔ´Ï´Ù. ÀÌ staticÃʱâÈ­ ºí·ÏÀÌ ¾ðÁ¦ È£ÃâµÇ´Â Áö,  staticÀÇ ¸Þ¸ð¸® ÇÒ´çÀÇ ½ÃÁ¡Àº ¾ðÁ¦ÀÎÁö ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

À§ÀÇ ¿¹Á¦¿¡¼­ ÀÌ»óÇÑ °ÍÀ» ¹ß°ßÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ·Î »ý¼ºÇÑ µ¥ÀÌÅÍ Å¸ÀÔ StaticTimeŬ·¡½º´Â ¸Þ¸ð¸®¸¦ »ý¼ºÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ±×·±µ¥µµ staticÀÇ sint¶ó´Â °ÍÀº Á¸ÀçÇϰí ÀÖÀ¸¸ç staticÃʱâÈ­ ±¸¹®µµ ½ÇÇàÀÌ µÇ¾ú½À´Ï´Ù. º°Àϵµ ´Ù ÀÖÁÒ. À̰ÍÀº staticÀÌ °´Ã¼ÀÇ ¸Þ¸ð¸® »ý¼º°ú »ó°ü¾øÀÌ ±× ÀÚ½ÅÀÌ ¼ÓÇØÀִ Ŭ·¡½ºÀÇ À̸§¸¸ »ç¿ëÇØµµ ¸Þ¸ð¸®°¡ ÃʱâÈ­ µÈ´Ù´Â °ÍÀÔ´Ï´Ù. ºÐ¸í À§ÀÇ ¿¹Á¦¿¡¼­´Â new¸¦ »ç¿ëµµ ÇÏÁö ¾Ê¾Ò½À´Ï´Ù. HelloWorld.java¸¦ ¼³¸íÇÏ´Ù °©ÀÚ±â ÀÌ»óÇÑ °÷À¸·Î ¿Ô´Ù°í »ý°¢ÇϽðÚÁö¸¸ staticÀÇ Àǹ̴ ¹è¿öµÑ °¡Ä¡°¡ ÀÖ´Â ³ðÀÔ´Ï´Ù. °è¼Ó °¡º¸µµ·Ï ÇÏÁÒ.

 

 ÀÌÂë¿¡¼­ ¿©·¯ºÐµéÀº ÀÌ·¯ÇÑ °á·ÐÀ» ¾òÀ» ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¡°°´Ã¼°¡ »ý¼ºµÇ±âµµ Àü¿¡ static¸Þ¸ð¸®°¡ »ý¼ºµÈ´Ù¸é °´Ã¼ »ý¼ºÀÌÀü¿¡ Á¢±ÙÀ» ÇÒ ¼ö ÀÖÁö ¾ÊÀº°¡?¡±¶ó°í ¸»ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. À̰ÍÀÇ ´äÀº YesÀÔ´Ï´Ù. °´Ã¼ »ý¼ºÀÌÀü¿¡ ¸Þ¸ð¸®¿¡ Á¢±ÙÇÏ´Â ½ºÅÂÆ½ÀÇ ¹«·ÊÇÔÀ» °æÇèÇØ º¸µµ·Ï ÇÏÁÒ.

 

StaticAccess.java(½ºÅÂÆ½ ¸â¹öÇʵ忡 ´ëÇÑ Á¢±ÙÀ» Å×½ºÆ®Çϱâ À§ÇÑ ¿¹Á¦)

public class StaticAccess{

             public static int sint=0;

             public int nint =0;

             public static void main(String[] args){

                           StaticAccess.sint =  3333;

                           System.out.println("½ºÅÂÆ½Á÷Á¢Á¢±Ù:" + StaticAccess.sint);

             }

}

C:\examples\4. Class for Basic Java>javac StaticAccess.java

 

C:\examples\4. Class for Basic Java>java StaticAccess

½ºÅÂÆ½Á÷Á¢Á¢±Ù:3333

 

¡°StaticAccess.sint=3333¡± ÀÌ·± Àϵµ ÀÖ½À´Ï´Ù. Ŭ·¡½ºÀÇ À̸§À¸·Î ¸â¹öÇʵ忡 Á¢±ÙÇϰí ÀÖ½À´Ï´Ù. ÇϳªÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ¸·Î °´Ã¼º¯¼ö¸¦ ¼±¾ðÇϰí new¿¬»êÀÚ¸¦ ÀÌ¿ëÇÏ¿© ¸Þ¸ð¸®¸¦ »ý¼ºÇÑ ÈÄ »ý¼ºÀÚ¸Þ¼­µå¿¡¼­ ÃʱâÈ­ ÀÛ¾÷À» ÇÏ¸é ¿ÏÀüÇÑ °´Ã¼°¡ ¿Ï¼ºµË´Ï´Ù. °´Ã¼°¡ ¿Ï¼ºµÈ ÈÄ ¸â¹ö¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù°í ÇßÁö¸¸ ½ºÅÂÆ½Àº ´Ù¸¨´Ï´Ù. ½ºÅÂÆ½Àº µ¥ÀÌÅÍŸÀÔÀ¸·Î ¹Ù·Î Á¢±ÙÇϰí ÀÖ½À´Ï´Ù. ±× ÀÌÀ¯´Â ¹Ù·Î °´Ã¼°¡ ¸Þ¸ð¸®¸¦ ÇÒ´ç ¹Þ±â Àü¿¡ static¸â¹öÇʵå´Â ¸Þ¸ð¸®¸¦ ÇÒ´ç ¹Þ°í ÃʱâÈ­ µÇ±â ¶§¹®ÀÔ´Ï´Ù. °ÅÀÇ ¿¹¿Ü¿Í °°Àº ±âÀÌÇÑ Çö»óÀÌÁÒ. ¾Æ¹«¸® staticÀ̶ó°í ÇÏ´õ¶óµµ private°ú publicÀº Áö۱⠶§¹®¿¡ Ŭ·¡½ºÀÇ À̸§, Áï µ¥ÀÌÅÍ Å¸ÀÔÀ¸·Î Á÷Á¢Á¢±Ù ÇÒ ¼ö ÀÖ´Â °ÍÀº public static¸â¹ö º¯¼öÀÔ´Ï´Ù.

 

 static¸â¹ö º¯¼öµµ Àִµ¥ static ¸â¹ö¸Þ¼­µå´Â ¾ø°Ú½À´Ï±î? ´ç¿¬È÷ static¸â¹ö¸Þ¼­µåµµ Á¸ÀçÇÕ´Ï´Ù. static ¸â¹ö¸Þ¼­µåµµ µ¥ÀÌÅÍŸÀÔ, Áï Ŭ·¡½ºÀÇ À̸§À¸·Î Á¢±Ù °¡´ÉÇÒ±î¿ä. ´äÀº ´ç¿¬È÷ Ŭ·¡½ºÀÇ À̸§À¸·Î Á¢±Ù °¡´ÉÇÕ´Ï´Ù. ÀÌ ¿¹¸¦ Çѹø »ìÆì º¸µµ·Ï ÇÏÁÒ.

 

StaticAccessMethod.java(½ºÅÂÆ½ ¸â¹ö¸Þ¼­µå¿¡ ´ëÇÑ Á¢±ÙÀ» Å×½ºÆ®Çϱâ À§ÇÑ ¿¹Á¦)

public class StaticMethodAccess{

             private static int sint=100;

             public int nint =0;

             public static void setStaticInt(int x){

                           sint = x;

             }

             public static int getStaticInt(){

                           return sint;

             }

             public static void main(String[] args){

                           StaticMethodAccess.setStaticInt(33333);

                           int s = StaticMethodAccess.getStaticInt();

                           System.out.println("½ºÅÂÆ½°ªÀº:" + s);

             }

}

C:\examples\4. Class for Basic Java>javac StaticMethodAccess.java

 

C:\examples\4. Class for Basic Java>java StaticMethodAccess

½ºÅÂÆ½°ªÀº:33333

 

ÀÌ ¿¹Á¦¿¡¼­ ¿ì¸®´Â static¸Þ¼­µå¸¦ µ¥ÀÌÅÍ Å¸ÀÔÀÎ StaticMethodAccessŬ·¡½ºÀ̸§À» ÀÌ¿ëÇÏ¿© Á¢±ÙÇϰí ÀÖ½À´Ï´Ù. ¿©±â¼­ Àá±ñ static¸â¹ö¸Þ¼­µå¿¡¼­ ³ªÅ¸³ª´Â ¾ÆÁÖ ÇÙ½ÉÀûÀÎ »çÇ×À» ¤¾îº¸°í ³Ñ¾î°¡ÁÒ. static¸â¹ö¸Þ¼­µå´Â Ŭ·¡½º°¡ °´Ã¼¸¦ »ý¼ºÇϱ⵵ Àü¿¡ Á¢±Ù °¡´ÉÇÕ´Ï´Ù.

»ý°¢ÇØ º¸¾Æ¾ß µÇ´Â ¹®Á¦´Â static¸â¹ö¸Þ¼­µå¿¡¼­ ÀÏ¹Ý ¸â¹öÇʽº¿¡ Á¢±Ù °¡´ÉÇÑÁöÀÇ ¹®Á¦ÀÔ´Ï´Ù. ºÒ°¡´ÉÇÕ´Ï´Ù. ÀÏ¹Ý ¸â¹öÇʵå´Â °´Ã¼ÀÇ ¸Þ¸ð¸®°¡ »ý¼ºµÈ ÈÄ¿¡¾ß ºñ·Î¼Ò ¸Þ¸ð¸®¸¦ ÇÒ´ç ¹Þ½À´Ï´Ù. ±×·±µ¥ static¸â¹ö¸Þ¼­µå´Â °´Ã¼°¡ ¸Þ¸ð¸®µµ ÇÒ´ç µÇ±â Àü¿¡ È£Ãâ °¡´ÉÇÕ´Ï´Ù. °á·ÐÀûÀ¸·Î ÀÏ¹Ý ¸â¹öÇʵå´Â static¸â¹ö¸Þ¼­µå¿¡ »ç¿ëÇÒ ¼ö ¾ø´Ù´Â °á·ÐÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼­ ÀÌ ¿¹Á¦¿¡¼­µµ static¸â¹ö¸Þ¼­µå¿¡¼­´Â static¸â¹ö º¯¼ö¸¸À» »ç¿ëÇß½À´Ï´Ù. À̷νá static¿¡ ´ëÇÑ Àü¹ÝÀûÀÎ »çÇ×À» ¾Ë¾Æº¸¾Ò½À´Ï´Ù.

 

 ±×·¸´Ù¸é ¿Ö main¸Þ¼­µå°¡ staticÀ¸·Î µÇ¾î ÀÖÀ»±î¿ä? ±×¸®°í ¿Ö main¸Þ¼­µå°¡ Ŭ·¡½ºÀÇ ¿ÜºÎ¿¡ ÀÖ´Â °ÍÀ¸·Î »ý°¢Ç϶ó°í ÇßÀ»±î¿ä? ´ç¿¬È÷ ÀÚ¹Ù¿¡¼­ main¸Þ¼­µå¸¦ ½ÇÇàÇÒ ¶§ ÇØ´ç Ŭ·¡½ºÀÇ °´Ã¼°¡ »ý¼ºµÇ±â Àü¿¡ Á¢±ÙÇØ¾ß Çϱ⠶§¹®¿¡ staticÀ¸·Î ¼±¾ð µÇ¾î ÀÖ´Â °ÍÀÔ´Ï´Ù. static¸Þ¼­µåÀÇ Á¢±ÙÀº °´Ã¼ÀÇ »ý¼º°ú ÀüÇô »ó°üÀÌ ¾ø½À´Ï´Ù. ¸¸¾à, ÇØ´ç Ŭ·¡½º°¡ main¸Þ¼­µå¸¦ Æ÷ÇÔÇϰí ÀÖ°í java.exe·Î ÇØ´ç Ŭ·¡½º¸¦ ½ÇÇàÇϸé static main¸Þ¼­µå¸¦ ã°Ô µË´Ï´Ù. ÀÌ main¸Þ¼­µå¿¡ Á¢±ÙÇÏ´Â ±â¹ýÀº ´ç¿¬È÷ staticÀÇ ±â¹ýÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù.

 

 

4.1.5 System.out.println

 ¿©±â±îÁö ¿À¸é¼­ °¡Àå ¸¹ÀÌ »ç¿ëÇÑ ±¸¹®ÀÌ ¹Ù·Î System.out.printlnÀÔ´Ï´Ù. ÀÌ ±¸¹®À» ¾ÆÁÖ ¸¹ÀÌ »ç¿ëÇϸ鼭µµ ±×³É ³Ñ¾î°¡´Â °ÍÀº System.out¿¡ ´ëÇÑ ¿¹Àǰ¡ ¾Æ´Ò °ÍÀÔ´Ï´Ù. ÀÚ! SystemÀº Ŭ·¡½ºÀÔ´Ï´Ù. ¹º°¡ ÀÌ»óÇÏÁö ¾Ê½À´Ï±î? SystemÀÌ ÇϳªÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ̶ó¸é µ¥ÀÌÅÍ Å¸ÀÔÀ¸·Î ¹Ù·Î Á¢±ÙÇÏ´Â ¹æ½ÄÀº ¹Ù·Î static¹Û¿¡ ¾ø½À´Ï´Ù. ±×¸®°í ÀÌ·¸°Ô Á÷Á¢ Á¢±ÙÇÏ·Á¸é staticÀ̶ó°í ÇÏ´õ¶óµµ publicÀ¸·Î ¼±¾ð µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¹ú½á ¾Ë¾ÆÂ÷¸° ºÐµµ °è½Ã°ÚÁö¸¸ outÀº System Ŭ·¡½º ³»¿¡ ÇϳªÀÇ º¯¼öÀÔ´Ï´Ù. Á¤È®ÇÏ°Ô °´Ã¼º¯¼ö¶ó´Â ¸»ÀÌ ¸Â°ÚÁÒ. ±×¸®°í outÀº SystemŬ·¡½º ³»¿¡ static¸â¹ö º¯¼ö ¿ªÇÒÀ» Çϰí Àֱ⠶§¹®¿¡ out¿¡ Á÷Á¢ Á¢±ÙÇϰí ÀÖ½À´Ï´Ù. ±×¸®°í out°´Ã¼ÀÇ ¸â¹ö¸Þ¼­µåÀÎ println¸Þ¼­µå¸¦ »ç¿ëÇϰí ÀÖ´Â °ÍÀÔ´Ï´Ù. »ý¼ºµÇ¾îÁø °´Ã¼·Î ÇÒ ¼ö ÀÖ´Â ÀÏÀº ¹Ù·Î Á¡(.)Âï°í ÀÚ½ÅÀÌ ÇϰíÀÚ ÇÏ´Â ÀÏÀ» ÇÏ´Â °Å´Ï±î¿ä.

 ¿ì¸®´Â ¹®ÀÚ¿­À» Ç¥½ÃÇÒ ¶§ ÀÌÁßµû¿ÈÇ¥¸¦ »ç¿ëÇÕ´Ï´Ù. ±×·¡¼­ ¹®ÀÚ¿­ÀÚü¸¦ ¡°Hello World!¡± ÀÌ·¸°Ô Ç¥ÇöÇÑ °ÍÀÔ´Ï´Ù. printlnÀ̶ó´Â ¸Þ¼­µå´Â ¹®ÀÚ¿­ ¸Å°³º¯¼ö·Î ÁÖ¸é µµ½ºÃ¢¿¡³ª ¼¿È­¸é¿¡ Ãâ·ÂÇÏ´Â ¿ªÇÒÀ» Çϰí ÀÖ½À´Ï´Ù.

 

 

4.1.6 °á·Ð

 ¿©·¯ºÐÀº ÀÌÁ¦ ºñ·Î¼Ò Hello World¶ó´Â ÀÚ¹Ù ÄÜ¼Ö Ãâ·Â ÇÁ·Î±×·¥À» ½ÃÀÛÇϽŠ°Ì´Ï´Ù. static¶§¹®¿¡ ¾à°£ ±î´Ù·Ó±â´Â ÇÏÁö¸¸ ´ëÃæÀÌ¶óµµ Hello WorldÀÇ ½É¿ÀÇÑ ¶æÀ» ÆÄ¾ÇÇÑ´Ù¸é ´ÙÀ½ °³³äÀ¸·Î Á¢±ÙÇϱ⠽¬¿öÁú °ÍÀÔ´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù1ºÎ
ÀúÀÚ:ÃÖ¿µ°ü