Java ¾ð¾î¹®¹ý ¸Þ¸ð

[ Last update:   March 8, 2003. ]



1. º¯¼ö¸í°ú µ¥ÀÌÅÍ Çü

º¯¼ö ¸íÀº, ù ¹®ÀÚ°¡ ¿µ¹®, ¾ð´õ¹Ù( _ ), ´Þ·¯ ¸¶Å©( $ )Áß ¾î´À Çϳª·Î ½ÃÀÛ. ´ë¹®ÀÚ¿Í ¼Ò¹®ÀÚ´Â ±¸ºÐµÇ¹Ç·Î °¢°¢ÀÇ º¯¼ö ¸íÀº º°°³ÀÇ °ÍÀÌ µÈ´Ù. ±æÀÌ¿¡´Â Á¦ÇÑÀÌ ¾øÀ½.

¿©±â¼­ 16 bitÀÇ Á¤¼öÇü short, 8 bitÀÇ Á¤¼öÇü byte´Â »ý·«ÇÏ°í ÀÖ´Ù. º¯¼öÀÇ Çü ¼±¾ðÀº ¹Ýµå½Ã ÇÊ¿äÇÏ°í, ¹¬½ÃÀûÀÎ ¼±¾ðÀº ¾ø´Ù. Åë»ó, Á¤¼öÇüÀº int, ½Ç¼öÇüÀº doubleÀ» »ç¿ë.

Ç¥1 º¯¼öÀÇ Çü
Á¾·ùtypeÅ©±â±â¼ú ¿¹
 Á¤¼öÇü int  32 bit 123
 long 64 bit 1234L
 ½Ç¼öÇü float 32 bit 123.0f
 double 64 bit 123.0, 12.3E3, 12.3e-5
 ¹®ÀÚÇü char 16bit 'a'   ( 1¹®ÀÚ·Î Á¦ÇÑÇÏ°í ' '·Î µÑ·¯½Ñ´Ù )
 String¡¡ "abc" ( ¹®ÀÚ¿­Àº " " À¸·Î µÑ·¯Ä£´Ù. )
 ³í¸®Çü boolean 1 bit true or false
 

¹®ÀÚº¯¼ö¸¦ ¼ýÀÚ·Î º¯È¯ÇÏ´Â °æ¿ì´Â Ç¥2 ¿¡ ³ªÅ¸³½ º¯È¯¹æ¹ýÀ» »ç¿ë. String st = " 10" °ú °°Àº ¼ýÀÚÀÇ Àü(ÈÄ)¿¡ °ø¹éÀÌ ÀÕ´Â ¹®ÀÚ¸¦ º¯È¯½ÃÅ°¸é ¿¡·¯ ¹ß»ý. ÀÌ °æ¿ì´Â ¹®ÀÚº¯¼ö st·ÎºÎÅÍ °ø¹éÀ» st.trim( )À» ÀÌ¿ëÇÏ¿© Á¦°ÅÇÏ°í ³­ µÚ¿¡ »ç¿ë.

Ç¥2 ¹®ÀÚ¿­À» ¼ýÀÚ·Î º¯È¯ÇÏ´Â ¹æ¹ý
Á¾·ùº¯È¯ ¹æ¹ý
 int ÇüÀ¸·Î int a = Integer.parseInt( ¹®ÀÚ¿­ );
 float ÇüÀ¸·Î float a = Float.valueOf( ¹®ÀÚ¿­ ).floatValue( );
 float a = new Float( ¹®ÀÚ¿­ ).floatValue( );
 double ÇüÀ¸·Î  double a = Double.valueOf( ¹®ÀÚ¿­ ).doubleValue( );
 double a = new Double( ¹®ÀÚ¿­ ).doubleValue( );

2. »çÄ¢¿¬»ê

°¡°¨½ÂÁ¦ÀÇ ¿¬»êÀÚ´Â °¢°¢ +, -, *, /¸¦ »ç¿ë. ÇϳªÀÇ ½ÄÀº ¼¼¹ÌÄÝ·Ð ";"À¸·Î ³¡³ª¾ß ÇÏ°í º¸±â ÁÁ°Ô Çϱâ À§Çؼ­ °³Çà½ÃÅ°Áö¸¸ ÇÑ Çà¿¡ º¹¼ö°³ÀÇ ½ÄÀ» Àû±âµµ ÇÑ´Ù.

  double a = 5.0,   b = 2.0, c,   d£»
  a += b£»   c -= d£»       // a = a + b; c = c - d£» ·Î ±â¼úÇصµ °°Àº °è»ê
  a *= b£»   c /= d£»       // a = a * b; c = c / d£» µî°¡ÀûÀÎ ±â¼ú
  i = 5,   j = 2,  k£»
  k ++£» j--£»              // k = k + 1; j = j - 1; Áµ¿
  k %= j£»                  // k = k % j; ·Î Àû¾îµµ ÁÁ°í k ¸¦ j ·Î ³ª´« ³ª¸ÓÁö

ÇàÁßÀÇ "//" ÀÌÇÏ Çೡ±îÁöÀÇ ¹®ÀåÀº ÁÖ¼®¹®ÀÌ´Ù. ( "/*" °ú "*/" ·Î µÑ·¯½Ñ º¹¼öÇàÀÇ ¹®Àåµµ ÁÖ¼®).
Çà 2-3, 5-6°ú °°ÀÌ, °è»ê½ÄÀº "//" ÀÇ ºÎºÐº¸´Ù´Â ¿ÞÆíÀÇ ±â¼ú¹æ¹ýÀÌ °è»ê¼Óµµ°¡ ºü¸£´Ù°í ¾Ë·ÁÁ® ÀÖÀ½.
   ÁõºÐ ¿¬»êÀÚ ++ ´Â, i ++ ·Î ÇßÀ» °æ¿ì´Â i ¿¡ 1 À» Áõ°¡½ÃÅ°±â Àü¿¡ i ¸¦ »ç¿ëÇÏ°í ++ i ÀÇ °æ¿ì´Â i ¸¦ 1 Áõ°¡½ÃŲ ÈÄ¿¡ i ¸¦ »ç¿ë. -- ÀÇ °æ¿ìµµ ¸¶Âù°¡Áö.
   º¯¼öÀÇ ÇüÀÌ ¼­·Î ´Ù¸¥ °æ¿ìÀÇ ¿¬»êÀº, º¯È¯ÇÏ·Á´Â µ¥ÀÌÅÍ ÇüÀÇ Á¤µµ°¡ ¿ø·¡ÀÇ Çüº¸´Ù Á¤µµ°¡ ³ôÀ¸¸é ÀÚµ¿º¯È¯ÀÌ ÀϾ´Ù. ¿ªÀÇ °æ¿ì´Â ¸í½ÃÀûÀÎ Çü º¯È¯ÀÌ ÇÊ¿äÇÏ°í º¯¼ö¸í ¾Õ¿¡ ( int ), ( float ) µîÀ¸·Î ¸íÈ®È÷ ÁöÁ¤ÇÑ´Ù. µ¥ÀÌÅÍ Çü¿¡ µû¸¥ Á¤µµÀÇ ¼ø¼­´Â int < long < float < double ÀÌ´Ù. ¿¹¸¦ µé¾î,

  int k = ( int )( 5 / 2.0 )£»  // ( 5 / 2.0 ) ÀÇ ½Ç¼ö°è»ê°á°ú 2.5°¡ Á¤¼öÈ­ µÇ¾î 2°¡ k¿¡ ´ëÀԵȴÙ.

ÀÇ °æ¿ì, ¿ìº¯¿¡ (int)°¡ ¾øÀ¸¸é ¿¡·¯°¡ ¹ß»ý.


3. ¼öÇÐÇÔ¼ö

sin, cos µîÀÇ ¼öÇÐÇÔ¼ö´Â, java.lang.MathÀÇ Å¬·¡½º ¶óÀ̺귯¸®¿¡¼­ Á¤ÀǵǾî ÀÖÀ¸¸ç ÁÖµÈ ÇÔ¼öµéÀº Ç¥3 ¿¡ Á¤¸®µÇ¾î ÀÖ´Ù. ¼öÇÐÇÔ¼ö´Â ¾î´À Ŭ·¡½º¿¡¼­µµ ÂüÁ¶ °¡´ÉÇÏ´Ù.


Ç¥3 ¼öÇÐ ÇÔ¼ö Áö¿øÀ» À§ÇÑ ÁÖ¿ä ¸Þ¼­µå¡¡£¨java.lang.MathŬ·¡½º£©
Á¾·ù¸Þ¼­µå ÀμöÀÇ Çü¹Ýȯ °ª
  Àý´ë°ª  Math.abs( a )  int, long, float, double   a ÀÇ °ª°ú µ¿ÀÏ
  sin  Math.sin( a )  double, ¶óµð¾È  double
  cos  Math.cos( a )  double, ¶óµð¾È  double
  tan   Math.tan( a )  double, ¶óµð¾È  double
  sin-1  Math.acos( a )  double  double
  cos-1  Math.asin( a )  double  double
  tan-1  Math.atan( a )  double   double
  Æò¹æ±Ù  Math.sqrt( a )  double  double
  a ¿Í b °ö  Math.pow( a, b )  double  double
  Áö¼ö  Math.exp( a )  double  double
  ÀÚ¿¬´ë¼ö  Math.log( a )  double  double
  ÃÖ´ë°ª  Math.max( a, b )  nt, long, float, double  a ¿Í µ¿ÀÏ
  ÃÖ¼Ò°ª  Math.min( a, b )  int, long, float, double  a ¿Í µ¿ÀÏ
  ÀÚ¸®¹ö¸²  Math.floor( a )  double  double
  »ç»ç¿ÀÀÔ  Math.rint( a )  double  double
  ÀÚ¸®¿Ã¸²  Math.ceil( a )  double  double
  »ç»ç¿ÀÀÔÀ» ÀÌ¿ëÇÑ Á¤¼öÇü º¯È¯  Math.round( a )  double, float  long, int
  ³­¼ö¹ß»ý  Math.random( )  ¾øÀ½  0.0 < a
  ¿øÁÖÀ² ¥ð  Math.PI  ¾øÀ½  double
  ÀÚ¿¬Áö¼ö e  Math.E  ¾øÀ½  double

ÁÖ 1) a=1.5ÀÇ °æ¿ì, Math.floor(a)´Â 1.0 ÀÌ°í, Math.ceil(a), Math.rint(a)´Â 2.0, Math.round(a)´Â 2 ÀÌ´Ù.

ÁÖ 2) a=-1.5ÀÇ °æ¿ì,Math.ceil(a)´Â -1.0, Math.round(a)´Â -1ÀÌÁö¸¸ Math.floor(a), Math.rint(a)´Â -2.0ÀÌ µÈ´Ù.


4. Á¶°ÇºÐ±â

Á¶°ÇºÐ±â¸¦ ¼öÇàÇÏ´Â if ¹®Àº

  if ( Á¶°Ç½Ä ) { [ ó¸® º»Ã¼ 1 ] }
  else{ [ ó¸® º»Ã¼ 2 ] }

Á¶°Ç½ÄÀº x = y ÀÇ °æ¿ì if( x == y ), x > y ÀÇ °æ¿ì if( x > y ), x ? y ÀÇ °æ¿ì if( x >= y ), x ¡Á y À̸é if( x != y ), x ? y ÀÇ °æ¿ì¿¡´Â if( x <= y ) µîÀ¸·Î ±â¼ú.

Á¶°Ç½ÄÀÌ x ¿Í y ÀÇ ³í¸®Àû ( µÑ ´Ù ÂüÀ̸é Âü ) ÀÇ °æ¿ì if( x && y), ³í¸®ÇÕ ( Çϳª¶óµµ ÂüÀ̸é Âü ) ÀÇ °æ¿ì´Â if( x || y ) µîÀ¸·Î ±â¼ú.

¼öÄ¡¿¡ ÀÇÇÑ Á¶°ÇºÐ±â¿¡´Â switch ¹®À» »ç¿ëÇÒ ¼ö ÀÖ°í, µðÀ½°ú °°ÀÌ ±â¼úÇÑ´Ù.

  if ( a == 0 ) tool = 1£» else if( a < 0 ) tool = 2£» else tool = 3£»

  switch ( tool ) {
      case 1£º
          [ ó¸® 1 ]
           break£»
      case 2£º
           [ ó¸® 2 ]
           break£»
      default£º
           [ ó¸® 3 ]
  }


5. ¹Ýº¹¸í·É

ƯÁ¤ÀÇ ¸í·ÉÀ» ¹Ýº¹ ¼öÇàÇÏ´Â ¸í·É¹®À¸·Î ÀϹÝÀûÀ¸·Î for ¹®À» »ç¿ë.

  for (int i = 0£» i < mx£» i++){ // i++ ´Â i = i + 1 °ú µî°¡
       [ ó¸® º»Ã¼ ]
  }

ÀÌ·¯ÇÑ ¹Ýº¹°è»êÀº i °¡ 0 ¿¡¼­ 1 ¾¿ Áõ°¡ÇÏ¿© mx-1 ±îÁöÀÇ mx ȸÀÇ ¿¬»êÀ» ¼öÇà. ¶ÇÇÑ for ¹®¿¡¼­ Á¤ÀÇµÈ º¯¼ö i ´Â ÀÌ ·çÇÁ ¾È¿¡¼­¸¸ À¯È¿ÇÏ°í ·çÇÁÀÇ ¿¬»ê¼ö·á ÈÄ¿¡´Â gabage collectionµÈ´Ù. µµÁß¿¡ ·çÇÁÀÇ ³¡ ´ÜÀ¸·Î À̵¿ÇÏ°í ½ÍÀ» °æ¿ì´Â continue¸¦, ÀÌ ·çÇÁ·ÎºÎÅÍ ºüÁ® ³ª¿À±â À§Çؼ­´Â break ¸¦ »ç¿ëÇÑ´Ù.


¸¶Âù°¡Áö·Î ¹Ýº¹¸í·É¿¡´Â while ¹®À» »ç¿ëÇϱ⵵ ÇÑ´Ù.while ¹®Àº Á¶°Ç½ÄÀ» Æò°¡ÇÏ¿© Âü ( true ) ÀÌ¸é ¹Ýº¹À» ¼öÇàÇÏ°í, °ÅÁþ ( false ) À̸é Á¤ÁöÇÑ´Ù. Á¶°Ç½ÄÀº ³í¸®Çü º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.£®

  while ( Á¶°Ç½Ä ){ // Á¶°Ç½ÄÀº ¿¹¸¦ µé¾î i >= 0 µîÀ¸·Î
        [ ó¸® º»Ã¼ ]
  }

6. ¹è¿­

Á¤¼ö, ½Ç¼ö, ¹®ÀÚ¿­Çü º¯¼ö ( int, double, String ) ÀÇ ¹è¿­Àº Çü¼±¾ð°ú ¿µ¿ªÀÇ È®º¸¸¦ º°µµ·Î ¼±¾ðÇÒ ¼ö ÀÖ´Ù.
Çü ¼±¾ð¸¸ ÇÒ °æ¿ì´Â

  int a [ ]£»   // int [] a£»·Î ±â¼úÇÏ´Â °Íµµ °¡´É
  double b [ ], c [ ], d [ ][ ]£»

·Î ÇÏ°í, µÚ¿¡ ¿µ¿ªÀ» È®º¸ÇÒ ÇÊ¿ä°¡ ÀÖ´Â °æ¿ì´Â

  int n = 90£» d = new double [ n ][ n ]£» // n ´ë½Å Å©±â¸¦ ¼ýÀÚ·Î ´ëÀÔÇصµ ÁÁÀ½

¡¡

ÇÑÆí, Çü ¼±¾ð°ú ¿µ¿ª(¸Þ¸ð¸®) È®º¸¸¦ µ¿½Ã¿¡ ¼±¾ðÇϱâ À§Çؼ­´Â

  double b [ ] = new double [ 50 ]£» // a[ 0 ] ¿¡¼­ a[ 49 ] ±îÁö 50°³ ¿µ¿ª È®º¸
  float c [ ] = {10.0f, 15.0f, 10.0f}£»  // µÚ¿¡ Ãß°¡ÇÏ´Â °ÍÀº ºÒ°¡

2Â÷¿ø ¹è¿­ int a[ ][ ] = { { 1, 2 }, { 3, 4 } } ÀÇ ¿ä¼Ò °ªÀº a[ 0 ][ 0 ] = 1, a[ 0 ][ 1 ] = 2, ......ÀÌ´Ù. ´ëÀÔÀ» ÇÏÁö ¾Ê°í È®º¸µÈ ¹è¿­ÀÇ °¢ ¿ä¼ÒÀÇ ÃʱⰪÀº 0 ÀÌ´Ù. ¹è¿­ a ÀÇ ¿µ¿ªÀÇ Å©±â´Â a.length ·Î ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù.


7. ¸Þ¼Òµå(method)

¸Þ¼ÒµåÀÇ Á¤ÀÇ´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

  [ ¾ï¼¼½º ¼ö½ÄÀÚ ] return°ªÀÇ Çü ¸Þ¼Òµå¸í ( ÀμöÀÇ Çü Àμö¸í, ...) {
       [ ÇÁ·Î±×·¥ ]£»
       return ( ½Ä or º¯¼ö )£» // return °ªÀÇ ÇüÀº void ·Î ¼±¾ðÇÑ °æ¿ì´Â ºÒ¿ä
  }

ÀμöÀÇ ¼ö°¡ ¸Þ¼Òµå³»ÀÇ °è»ê󸮿¡ ÀÇÇغ¯ÇÒ °æ¿ì, ÀÌ °ªÀº ¿ø·¡ È£ÃâÇÑ ÃøÀÇ °ª¿¡ ¹Ý¿µµÇ¾î ¿µÇâÀ» ¹ÌÄ¡´Â °æ¿ì´Â ¾ø´Ù. ¿¹¸¦ µé¾î, 3 À̶ó´Â °ªÀÌ ´ëÀԵǾî ÀÖ´Â Àμö a °¡ ¸Þ¼Òµå¿¡ Àü´ÞµÇ¾î, ¸Þ¼Òµå³»¿¡¼­ ÀÌ °ªÀÌ 10À¸·Î º¯Çß´Ù°í ÇÒÁö¶óµµ È£ÃâÇÑ Ãø¿¡¼­ÀÇ a ÀÇ °ªÀº 3 ±×´ë·Î ÀÌ´Ù. ÀÌ°ÍÀº, FORTRAN À̳ª C ÀÇ °æ¿ì¿Í ´Ù¸£¹Ç·Î ÁÖÀÇ. È£ÃâÇÑ ÃøÀÇ °ªÀ» º¯°æÇϱâ À§Çؼ­´Â, º¯¼ö a ¸¦ return °ªÀ¸·Î ÇÏ´øÁö ÀνºÅϽº º¯¼ö £¨ Ŭ·¡½º³»ÀÇ ½ÃÀۺκп¡¼­ Á¤ÀÇÇÑ º¯¼ö £© ·Î ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ´Ü, Àμö°¡ ¹è¿­ÀÇ °æ¿ì´Â Á¦¿Ü.

¾ï¼¼½º ¼ö½ÄÀÚ´Â,£¬ ¾î´À Ŭ·¡½º·ÎºÎÅ͵µ ¾ï¼¼½º °¡´ÉÇÑ public, ÀÚ½ÅÀÇ Å¬·¡½º¿¡¼­¸¸ ¾ï¼¼½º °¡´ÉÇÑ private µîÀÌ ÀÖ´Ù. ¾ï¼¼½º ¼ö½ÄÀڴ Ŭ·¡½º¿¡µµ ÀνºÅϽº º¯¼ö¿¡µµ Àû¿ëµÈ´Ù. static º¯¼ö´Â Ŭ·¡½º¿¡ ¼ÓÇÏ´Â º¯¼öÀ̳ª, Ŭ·¡½º¿¡¼­ »ý¼ºµÈ ¸ðµç °´Ã¼·ÎºÎÅÍ °ø¿ëµÈ´Ù.

Âü°í: ÇØ´ç Ŭ·¡½ºÀÇ ºÎ¸ð¿¡ ÇØ´çÇÏ´Â ½´ÆÛ Å¬·¡½ºÀÇ ¸Þ¼Òµå¸¦ º¯°æ½Ãų °æ¿ì´Â, °°Àº À̸§À¸·Î Àμö¶óµçÁö µ¥ÀÌÅÍ ÇüÀÌ °°Àº ¸Þ¼Òµå¸¦ Á¤ÀÇÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. ÀÌ°ÍÀ» ¸Þ¼ÒµåÀÇ ¿À¹ö¶óÀ̵å¶ó ÇÑ´Ù. ºÎ¸ð Ŭ·¡½º¿Í °°Àº À̸§ÀÇ ¸Þ¼Òµå´Â ÀÌ Å¬·¡½º¿¡¼­´Â »ç¿ëµÇÁö ¾Ê´Â´Ù.


8. Ŭ·¡½º

Ŭ·¡½º´Â ÇϳªÀÇ ÇÁ·Î±×·¥ ´ÜÀ§. º¹¼ö°³ÀÇ Å¬·¡½º¸¦ ÀÌ¿ëÇÏ¿© ÀÏ·ÃÀÇ ¿¬»êÀ» ¼öÇàÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. º¹¼ö°³ÀÇ Å¬·¡½º°¡ ÇϳªÀÇ ÆÄÀÏ¿¡ Æ÷ÇÔµÈ °æ¿ì, ¸ÞÀÎÀÇ Å¬·¡½ºÀÌ°í html ÀÇ Å±׿¡ ±âÀçµÈ Ŭ·¡½º¸íÀÇ ¼ö½ÄÀÚ´Â public ÀÌÁö¸¸, ±× ¿ÜÀÇ Å¬·¡½º´Â ¼ö½ÄÀÚ¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù.

±âÁ¸ÀÇ Å¬·¡½ºÀÇ ¸Þ¼Òµå³ª º¯¼ö¸¦ »ó¼Ó¹ÞÀº Ŭ·¡½º¸¦ Á¤ÀÇÇϱâ À§Çؼ­´Â Ŭ·¡½º¸íÀÇ µÚ¿¡ extends ¶ó°í ºÙÀÌ°í, ±âÁ¸ Ŭ·¡½º¸íÀ» ÁöÁ¤ÇÑ´Ù. ±âÁ¸ÀÇ Å¬·¡½º¸¦ ½´ÆÛ Å¬·¡½º, »ó¼Ó¹ÞÀº Ŭ·¡½º¸¦ ¼­ºêŬ·¡½º¶ó Çϸç, ÀÌ·¯ÇÑ ¹æ¹ýÀ» »ó¼Ó À̶ó ÇÑ´Ù.

´Ù¸¥ Ŭ·¡½ºÀÇ ÀνºÅϽº º¯¼ö³ª ¸Þ¼Òµå¸¦ ÀÌ¿ëÇϱâ À§Çؼ­´Â, ±× Ŭ·¡½ºÀÇ °´Ã¼¸¦»ý¼º½ÃÄÑ µÑ ÇÊ¿ä°¡ ÀÖ´Ù. °´Ã¼ »ý¼º¹æ¹ýÀº, Ŭ·¡½º¸íÀ» Animation, »ý¼º½Ãų °´Ã¼¸¦ anime ¶ó ÇÑ´Ù¸é ´ÙÀ½ µÎ °¡Áö ¹æ¹ýÀ» µé ¼ö ÀÖ´Ù.

  Animation anime = new Animation( )£»
             ¶Ç´Â£¬
  Animation anime£»anime = new Animation( )£»

°´Ã¼°¡ »ý¼ºµÇ¾úÀ» ¶§ ÃÖÃʷΠȣÃâµÇ´Â ¸Þ¼Òµå¸¦ ÀÛ¼ºÇÏ°í, º¯¼öÀÇ ÃʱâÈ­¿ëÀ¸·Î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀ» ÄÁ½ºÆ®·°Æ®(»ý¼ºÀÚ) ¶ó°í Çؼ­, Ŭ·¡½º¿Í °°Àº À̸§À» °¡Áö¸ç, return °ªÀº °¡ÁöÁö ¾Ê´Â´Ù.


Ŭ·¡½º³»ÀÇ ¸Þ¼Òµå³ª º¯¼ö¿¡ ´ëÇÏ¿©, ´Ù¸¥ Ŭ·¡½º¿¡¼­ Á÷Á¢ÀûÀÎ Á¶ÀÛÀ̳ª ¾×¼¼½º¸¦ ±ÝÁöÇÏ´Â Á¶Ä¡¸¦ ĸ½¶È­ ¶ó°í ÇÑ´Ù. ±¸Ã¼ÀûÀ¸·Î, Ŭ·¡½º³»ÀÇ ÀνºÅϽº º¯¼ö¸£ private ¼±¾ðÇÏ´Â °ÍÀ¸·Î ±¸ÇöµÈ´Ù. º¯¼ö a[ ] ¿¡ Ŭ·¡½º ¹ÛÀ¸·ÎºÎÅÍ ¾ï¼¼½ºÇÒ ÇÊ¿ä°¡ ÀÖ´Â °æ¿ì´Â´ÙÀ½°ú °°ÀÌ public À» ¼±¾ðÇÏ¿© ÇØ´ç Ŭ·¡½º³»¿¡ ±â¼úÇØ µÐ´Ù.

  public double [ ] getAarray( ){ return a£» } // a ´Â returnµÇ´Â ¹è¿­

¾ï¼¼±× ÇÏ´ÂÂÊÀÇ Å¬·¡½º¿¡¼­´Â, À§¿¡ ±â¼úÇÑ Å¬·¡½ºÀÇ °´Ã¼¸¦ anime ¶ó°í Çß´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¿© ¹è¿­ b ¿¡ °ªÀ» °¡Áö°Ô ÇÒ ¼ö ÀÖ´Ù.

  double b [ ] = anime.getArray( )£»

9. Graphics

AppletÀ» ÀÌ¿ëÇÑ ÇÁ·Î±×·¥Àº ´ÙÀ½°ú °°Àº ±âº» Çü½ÄÀ» ÃëÇÑ´Ù.

  import java.applet.Applet£»
  import java.awt.*£»
  public void Example extends Applet{ // ÀÌ °æ¿ì, ¼Ò½º ÄÚµå¸íÀº Example.java ÀÌ´Ù.
                  [ ÀνºÅϽº º¯¼öÀÇ Á¤ÀÇ ]
      public void init( ){
                  [ AppletÀ» loadÇÒ ¶§ÀÇ Á¶±âÈ­ ¼öÇà ]
      }
      public void paint( Graphics g ){
                  [ Applet ½ÇÇà ³»¿ëÀ» ±â¼ú ]
      }
  }

¼± µîÀ» ÀÛµµÇÏ´Â ±×·¡ÇÈ ±â´ÉÀº java.awt.Graphics ÀÇ ±×·¡ÇÈ ¶óÀ̺귯¸®¿¡¼­ Á¤ÀǵǾî ÀÖ°í, ÁÖµÈ ¸Þ¼Òµå´Â Ç¥4 ¸¦ ÂüÁ¶


Ç¥4 ±×·¡ÇÈ °ü·Ã ÁÖµÈ ¸Þ¼­µå ( java.awt.Graphics Ŭ·¡½º )
Á¾·ù¸Þ¼ÒµåÀμöÀÇ Çü
¹®ÀÚÇü  drawString( str, x, y )
  ¹®ÀÚÀÇ ÁÂÇÏÀÇ ÁÂÇ¥¸¦ ( x, y ) ·Î ÇÏ¿© ¹®ÀÚ¿­ str À» ±×¸°´Ù.
  str Àº String
  x, y ´Â int
Á÷¼±  drawLine( x0, y0, x1, y1 )
  ( x0, y0 ) ¿¡¼­ ( x1, y1 ) À¸·Î Á÷¼±À» ±×¸°´Ù.
  int
Àå¹æÇü  drawRect( x, y, width, height )
  fillRect( x, y, width, height )
  clearRect( x, y, width, height )
  Á»ó ¸ð¼­¸® ÁÂÇ¥¸¦ ( x, y ), width, height ´Â Æø°ú ³ôÀÌ
  clearRect( ) ´Â »ç°¢¿µ¿ªÀ» ¹è°æ»öÀ¸·Î ä¿î´Ù.
  int
Ÿ¿ø  drawOval( x, y, width, height )
  fillOval( x, y, width, height )
  Å¸¿øÀ» µÎ·¯½Ñ »ç°¢¿µ¿ªÀÇ Á»ó ¸ðÅüÀÌÀÇ ÁÂÇ¥ ( x, y ), Àå¹æÇüÀÇ Æø°ú ³ôÀÌ´Â   width, height ÀΠŸ¿øÀ» ±×¸°´Ù.
  int
´Ù°¢Çü  drawPolygon( x, y, n )
  fillPloygon( x, y, n )
  x, y ´Â Á¤¼öÇü ¹è¿­
  n Àº Á¤¼ö

±×·¡ÇÈ °ü·ÃÀÇ ¸Þ¼Òµå¿Í »ö»óÀÇ ÁöÁ¤¹æ¹ýÀº ÀÌ°÷ À» ÂüÁ¶.


10. À̺¥Æ® ó¸®

¸¶¿ì½º ÀÌ¿ÜÀÇ °¢Á¾ GUI ( Graphical User's Interface ) ºÎÇ°À» ÀÌ¿ëÇÒ °æ¿ì´Â ´ÙÀ½ÀÇ ¿¹Á¦ ÇÁ·Î±×·¥ ÂüÁ¶. GUI ¿¡ ´ëÀÀÇÏ´Â À̺¥Æ® ¸®½º³Ê¸¦ ÀÎÅÍÆäÀ̽º¿¡ Áغñ ( implements ) ÇÏ°í, °Å±â¿¡ ´ëÀÀÇÑ À̺¥Æ® ó¸®¿ë ¸Þ¼Òµå¸¦ »ç¿ëÇÑ´Ù. ´ëÀÀ°ü°è´Â Ç¥5 ¸¦ ÂüÁ¶ÇÏ°í, GUI ºÎÇ°Àº ÀåÂø ( add ) ¼øÀ¸·Î ¿·À¸·Î ³ª¿­ÇÑ´Ù.

   import java.applet.Applet;
  import java.awt.*£»
  import java.awt.event.*£» // À̺¥Æ®°¡ ÇÊ¿äÇÒ ¶§ Ãß°¡
  public void Example extends Applet
      implements ActionListener, ItemListener, AdjustmentListener{ // ÇÊ¿äÇÑ À̺¥Æ® ¸®½º³Ê Áغñ       // ÀνºÅϽº º¯¼ö¸¦ Á¤ÀÇ
      Choice choice_A£» Button button_STOP£» Scrollbar scr£»
      Checkbox ch1, ch2£» CheckboxGroup ck£» // üũ ¹Ú½º °ü·Ã
      Textfield chTxt£» // ÅؽºÆ® ÇÊµå °ü·Ã
                      ....................
      public void init( ) {   // ÃʱâÈ­ ¸Þ¼Òµå·Î GUI ºÎÇ°À» »ý¼º, ÀåÂø
           add( new Label("select"))£» // select ¶ó ºÒ¸®´Â ¶óº§À» ½ÇÀå
           choice_A = new Choice( )£»// ÃÊÀ̽ºÀÇ ÀÛ¼º
           choice_A.ddItem("10")£»     // 10°³ÀÇ ÃÊÀ̽º Ç׸ñ ¼³Á¤
           add( choice_A )£»              // ÃÊÀ̽º ½ÇÀå
           ck = new CheckboxGroup()£» // üũ¹Ú½º »ý¼º
           ch1 = new Checkbox("ch1", true, ck)£» // ¶óº§ ch1 ÀÇ ³»¿ëÀ» µðÆúÆ®·Î ¼³Á¤
           ch2 = new Checkbox("ch2", false, ck)£» // ¶óº§ ch2
           add(ch1)£» add(ch2)£»
           button_STOP = new Button("STOP")£» // STOP À̶ó´Â À̸§ÀÇ ¹öÆ° ÀÛ¼º
           add(button_STOP)£»
           chTxt = new TextField("0.02", 4)£» // 4 ¹®ÀÚºÐÀÇ ÅؽºÆ® ÇÊµå ±âÀÔ
           add(chTxt)£»
           scr = new Scrollbar(Scrollbar.HORIZONTAL, 40, 10, 0, 110)£» // ½ºÅ©·Ñ¹ÙÀÇ Á¤ÀÇ
           add(scr)£» // ¡è ¼öÆò¹æÇâÀ¸·Î ½ÇÀå, ÃʱâÄ¡ 40, ¹ÙÀÇ Æø 10, ÃÖ¼Ò°ª 0, ÃÖ´ë°ª 110
                       .......................
           choice_A.addItemListener( this )£» // À̺¥Æ® ¸®½º³Ê µî·Ï
           ch1.addItemListener( this )£» // this ´Â ½ÇÇàÁßÀÇ °´Ã¼¸¦ ÂüÁ¶ÇÏ´Â °ÍÀ» ÀǹÌ
           ch2.addItemListener( this )£»
           button_A.addActionListener( this )£»
           chTxt.addActionListeneer( this )£»
           scr.addAdjustmentListener( this )£»
      }


      public void itemStateChanged( ItemEvent e ){  // ÃÊÀ̽º¿¡ ´ëÇÑ󸮸¦ Á¤ÀÇÇÏ´Â ¸Þ¼Òµå
           if( e.getSource( ) == choice_A ){               // ÃÊÀ̽º°¡ ´­·¯Á³´ÂÁö ¿©ºÎ °Ë»ç
               String st = choice_A.getSelectedItem( )£»// ¼±ÅðªÀ» ¹®ÀÚÇüº¯¼ö °ªÀ¸·Î Ãëµæ
               a = Integer.parseInt( st )£» // ¼±ÅðªÀ» Á¤¼öÇü a ¿¡ º¯È¯½ÃÄÑ ´ëÀÔ£¨°è»ê¿¡ ¹Ý¿µ£©
           }
           if( ch1.getState( )){ col = 0£» }       // ýũ ¹Ú½º ch1ÀÌ true ÀÎ °æ¿ìÀÇ Á¶Ä¡
           else if( ch2.getState( )){col = 2£» } // ch2 °¡ true ÀÎ °æ¿ìÀÇ Á¶Ä¡
               repaint( )£» // È­¸éÀ» ´Ù½Ã ±×¸°´Ù.
           }
           public void actionPerformed( ActionEvent e ){ // ¹öÆ°¿¡ ´ëÇÑ Ã³¸®¸¦ Á¤ÀÇÇÏ´Â ¸Þ¼Òµå
               if( e.getSource( ) == button_STOP ) { // STOP ¹öÆ°ÀÌ ´­·¯Á³À» ¶§ÀÇ Á¶Ä¡
                      ....................
               } else if( e.getSource( ) == chTxt ) { // ÅؽºÆ® Çʵå ÀԷ½ÿ¡ Á¶Ä¡
                    String st = chTxt.getText( ).trim( )£» // °ªÀ» ¹®ÀÚÇü º¯¼ö st ·Î ÀÐ¾î µéÀÓ
                      ....................
               }
               repaint( )£»
            }
            public void adjustmentValueChanged( AdjustmentEvent e ){ // ½ºÅ©·Ñ¹Ù¿¡ ÀÇÇÑ Á¶Ä¡
                if( e.getSource( ) == scr ) repaint( )£»
            }
            public void paint( Grphics g ){ // ¸ÞÀÎ ÇÁ·Î±×·¥£¨ÆäÀÎÆ® ¸Þ¼Òµå£©
                float dx = ( float ) scr.getValue( )£» // ½ºÅ©·Ñ¹ÙÀÇ À§Ä¡¸¦ Ãëµæ
                   ..............
            }
  }


¸¶¿ì½º¸¦ ÀÌ¿ëÇÑ Ã³¸®ÀÇ ±âº»ÇüÀº ´ÙÀ½°ú °°°í À§¿¡¼­ ¸»ÇÑ °¢Á¾ GUI ºÎÇ°°úÀÇ º´¿ëµµ °¡´ÉÇÏ´Ù.

  public void Example1 extends Applet
       implements MouseListener, MouseMotionListener{
            int moX, moY, moXup, moYup£»   // ¸¶¿ì½ºÀÇ À§Ä¡
            ......
            public void init(){
            .........
                  addMouseListener(this)£»
                  addMouseMotionListener(this)£»
            }
            public void mousePressed( MouseEvent e ){ // ¹öºvÀ» ´­·¶À» ¶§ÀÇ À§Ä¡ Ãëµæ
                  moX = e.getX( )£» moY = e.getY( )£» // ¸¶¿ì½º Á¶ÀÛÀ§Ä¡ÀÇ ( x, y ) ÁÂÇ¥ Ãëµæ
            }
            public void mouseReleased( MouseEvent e ){ // ¹öÆ°À» ³õ¾ÒÀ» ¶§ÀÇ À§Ä¡ÁÂÇ¥ Ãëµæ
                  moXup = e.getX( )£» moYup = e.getY( )£»
                  repaint( )£»
            }
            public void mouseClicked( MouseEvent e ){ }
            public void mouseEntered( MouseEvent e ){ } // »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì¿¡µµ ±â¼úÇØ µÐ´Ù
            public void mouseExited( MouseEvent e ){ }
            public void mouseMoved( MouseEvent e ){ }
            public void mouseDragged( MouseEvent e ){ }
            public void paint( Graphics g ){
            ................
            }
  }

Ç¥5 À̺¥Æ®ÀÇ Á¾·ù¿Í ó¸® ¹æ¹ý £¨java.lang.Math Ŭ·¡½º£©
GUI ºÎÇ°Event Listenermethod
  Button
  Text Field
  ActionListener  actionPerformed
  Choice
  Check Box
  ItemListener  itemStateChanged
  Scroll Bar  AdjustmentListener  adjustmentValueChanged
  Push Mouse button
  Release Mouse button
  Click
  Mouse position in window
  Mouse position out of window
  MouseListener  mousePressed
  mouseReleased
  mouseClicked
  mouseEntered
  mouseExited
  Mouse drug
  Mouse is moved
  MouseMotionListener  mouseDragged
  mouseMoved

À̺¥Æ® ó¸® ÇÁ·Î±×·¥ÀÇ ¿¹´Â ÀÌ°÷ À» ÂüÁ¶.


11. ·¹À̾ƿô

·¹À̾ƿô ¸Å´ÏÁ®¿¡´Â, µðÆúÆ®·Î ¿·À¸·Î ³ª¿­ÇÏ´Â FlowLayout, ºÎÇ°À» Á¿ì, »óÇÏ, Áß¾Ó¿¡ ¹èÄ¡ÇÏ´Â BorderLayout, ºÎÇ°À» ŸÀϸð¾çÀ¸·Î Ç¥¾È¿¡ ¹èÄ¡ÇÏ´Â GridLayout, ¼­·Î ´Ù¸¥ Å©±â¸¦ °¡Áö´Â ºÎÇ°À» ŸÀÏ ¸ð¾çÀ¸·Î ¹èÄ¡ÇÏ´Â GridBagLayout, ºÎÇ°À» Ä«µå¿Í °°ÀÌ ³ª¿­ÇÏ¿© ¹èÄ¡ÇÏ´Â CardLayout ÀÌ ÀÖ´Ù. »ó¼¼ÇÑ °ÍÀº Layout Manager ÂüÁ¶.


¡¡