Core API Tour I

½Å Á¤È£
138-229 ¼­¿ï Ưº°½Ã ¼ÛÆÄ±¸ Àá½Ç º»µ¿ 193
¹Ì¼ÒÅ×Å©(ÁÖ) ±â¼ú °³¹ß½Ç
E-mail : mikimous@disney.misotech.com
URL : http://www.misotech.com/~mikimous /
Abstract:
ÇÁ·Î±×·¡¸Ó¿¡°Ô À־ ¶óÀ̺귯¸®´Â »ó´çÈ÷ À¯¿ëÇÑ µµ±¸ ÀÌ´Ù. ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ°Ô µÇ¸é ±×¸¸Å­ °³¹ß ½Ã°£À̳ª »ý»ê¼º ¸é¿¡¼­ Å« È¿°ú¸¦ º¼ ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ·¯ÇÑ ¶óÀ̺귯¸®¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ¹Ýµå½Ã ¶óÀ̺귯¸®ÀÇ »ç¿ë¹ýÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. ÀÚ¹Ù¿¡¼­´Â ÆÐŰÁö(Package)¶ó ºÒ¸®´Â ¶óÀ̺귯¸®°¡ ÀÖ´Ù. C³ª C++ ÇÁ·Î±×·¡¸Ó°¡ ¶óÀ̺귯¸®ÀÇ ÇÔ¼öµéÀ» »ç¿ëÇϵíÀÌ ÀÚ¹Ù¿¡¼­´Â ÀÌ ÆÐŰÁöÀÇ Å¬·¡½ºµé°ú Ŭ·¡½ºÀÇ ¸â¹ö ¸Þ½îµåµéÀ» °¡Á®´Ù ¾²¸é µÈ´Ù. ÆÐŰÁö¶õ °ü·Ã Àִ Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽ºµéÀ» Çѵ¥ ¹­¾î ³õÀº °ÍÀ¸·Î ±âº»ÀûÀ¸·Î »ç¿ëµÇ´Â ÆÐŰÁöµéÀº JDK 1.02¿¡ Æ÷ÇÔ µÇ¾î ÀÖ´Â ÆÐŰÁö´Ù.
º» API Tour¿¡¼­´Â JDK 1.02¸¦ ±âÁØÀ¸·Î »ç¿ë ÇÒ ¼ö Àִ Ŭ·¡½ºµé°ú ¸Þ½îµåµéÀÇ Á¾·ù¿Í ±â´ÉÀ» ¾Ë¾Æ º»´Ù. ÀÚ¹Ù ÆÐŰÁöÀÇ Å¬·¡½ºµéÀÌ ¿ö³« ¸¹À¸¹Ç·Î ¿©±â¼­´Â ÀÚ¼¼ÇÏ°Ô ´Ù·çÁö´Â ¾ÊÀ» °ÍÀÌ´Ù.
Keywords:
Java, WWW(World Wide Web), JDK(Java Developers Kit), API

1. JDK 1.02ÀÇ ÆÐŰÁö ±¸Á¶

JDK 1.02¿¡´Â 8°³ÀÇ ÆÐŰÁö°¡ ÀÖ´Ù. °¢ ÆÐŰÁö¿¡´Â ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽º ¿Ü¿¡µµ ¿¡·¯ 󸮸¦ À§ÇÑ ¿¹¿Ü»óȲ(Exception)°ú ¿¡·¯(Error)¿¡ °ü°èµÈ Ŭ·¡½ºµéµµ ÀÖ´Ù. ¿©±â¼­´Â ÀÎÅÍÆäÀ̽º¿Í ¿¹¿Ü»óȲ, ¿¡·¯¿¡ ´ëÇÑ Å¬·¡½ºµéÀº ´Ù·çÁö ¾ÊÀ» °ÍÀ̸ç java.applet, java.awt, java.awt.image,java.awt,peer ÆÐŰÁö´Â Core API Tour II¿¡¼­ ´Ù·ç°í ÀÖÀ¸¹Ç·Î »ý·«ÇϰڴÙ.

2. java.lang ÆÐŰÁö

°¡Àå ±âº»ÀÌ µÇ´Â Ŭ·¡½ºµéÀ» Æ÷ÇÔÇÑ ÆÐŰÁö·Î ´Ù¸¥ ÆÐŰÁöµé°ú ´Þ¸® ¸ðµç ÇÁ·Î±×·¥¿¡ ÀÚµ¿ÀûÀ¸·Î importµÈ´Ù. ÀÌ ÆÐŰÁö¿¡´Â ÀÚ·áÇü¿¡ °ü·ÃµÈ Ŭ·¡½ºµé°ú ½Ã½ºÅÛÀ̳ª ¾²·¹µå, Ŭ·¡½º¸¦ ´Ù·ç´Â Ŭ·¡½ºµéÀÌ Æ÷ÇÔ µÇ¾î ÀÖÀ¸¸ç, Ŭ·¡½ºµé Áß ÀÚ·áÇü¿¡ °ü°èµÈ Ŭ·¡½ºµé(Boolean, Cahracter, Dobule, Float, Integer, Long, String, StringBuffer)Àº final·Î ¼±¾ðÀÌ µÇ¾î ÀÖ¾î À̵é Ŭ·¡½º´Â »ó¼ÓÇØ¼­ »ç¿ëÇÒ ¼ö ¾ø°Ô µÇ¾î ÀÖ´Ù.

2.1 java.lang ÆÐŰÁöÀÇ ±¸Á¶

2.2 Object Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ¸ðµç Àڹ٠Ŭ·¡½ºÀÇ ½´ÆÛ Ŭ·¡½º·Î rootŬ·¡½ºÀÌ´Ù. ½ÉÁö¾î´Â ÇÁ·Î±×·¡¸Ó°¡ ¸¸µç Ŭ·¡½ºµµ ÀÌ Å¬·¡½º¸¦ ½´ÆÛ Ŭ·¡½º·Î °¡Áø´Ù. µû¶ó¼­ ÀÚ¹ÙÀÇ ¸ðµç Ŭ·¡½º( ÇÁ·Î±×·¡¸Ó°¡ ¸¸µç Ŭ·¡½º Æ÷ÇÔ )¾È¿¡´Â ÀÌ Å¬·¡½ºÀÇ ¸â¹öµéÀÌ °è½ÂµÈ´Ù.

2.3 Boolean Ŭ·¡½º

ÀÌ Å¬·¡½ºÀÇ °´Ã¼¿¡´Â boolean °ªÀ» ÀúÀåÇÏ´Â Çʵ尡 ÀÖ°í, ¸â¹ö ¸Þ½îµåµéÀº boolean °ªÀ» ´Ù·ç±â À§ÇÑ ¿©·¯°¡Áö À¯¿ëÇÑ ¸Þ½îµåµéÀÌ ÀÖ´Ù. ¿¹¸¦ µé¸é boolean°ªÀ» StringÀ¸·Î º¯È¯ ÇѴٰųª, StringÀ¸·Î ÀúÀåµÈ boolean°ª("true" ¶Ç´Â "false")À» boolean °ªÀ¸·Î ¹Ù²ãÁÖ´Â ¸Þ½îµå°¡ ÀÖ´Ù.

2.4 Character Ŭ·¡½º

ÀÌ Å¬·¡½ºÀÇ °´Ã¼´Â char °ªÀ» ÀúÀåÇϱâ À§ÇÑ ¸â¹ö º¯¼ö¸¦ °¡Áö°í ÀÖ°í ÀÌ º¯¼ö´Â Á¢±ÙÀÌ ºÒ°¡´ÉÇÏ´Ù. ÀÌ Å¬·¡½º´Â char ±âº» ÀÚ·áÇüÀ» ´Ù·ç´Âµ¥ À¯¿ëÇÑ ¸Þ½îµåµéÀ» Á¦°øÇÑ´Ù. ¿¹¸¦ µé¾î ¼ýÀÚÀÎÁö ¹®ÀÚÀÎÁö °Ë»çÇÏ´Â ¸Þ½îµåµµ ÀÖ°í, ´ë¹®ÀÚ¸¦ ¼Ò¹®ÀÚ·Î ¼Ò¹®ÀÚ¸¦ ´ë¹®ÀÚ·Î ¹Ù²ãÁÖ´Â ¸Þ½îµåµµ ÀÖ´Ù.

2.5 Number Ŭ·¡½º

ÀÌ Å¬·¡½º´Â abstract Ŭ·¡½º·Î new ¿¬»êÀÚ³ª newInstance()¸Þ½îµå¸¦ ÀÌ¿ëÇØ¼­ Á÷Á¢ÀûÀ¸·Î °´Ã¼¸¦ ¸¸µé ¼ö ¾ø´Ù. Double, Float, Integer, Long Ŭ·¡½ºµéÀÌ ÀÌ Å¬·¡½º¸¦ °è½Â ¹Þ°í ÀÖ´Ù.

2.6 Double Ŭ·¡½º

ÀÌ Å¬·¡½ºÀÇ °´Ã¼´Â doubleÀ» ÀúÀåÇϱâ À§ÇÑ ¸â¹ö º¯¼ö¸¦ °¡Áö°í ÀÖÀ¸¸ç double ±âº» ÀÚ·áÇüÀ» ´Ù·ç´Âµ¥ À¯¿ëÇÑ ¸Þ½îµåµéÀ» °¡Áö°í ÀÖ´Ù. ¿¹¸¦ µé¾î long °ªÀ¸·Î Ç¥ÇöµÈ ºñÆ®µéÀ» double ÀÌ »ç¿ëÇÏ´Â ºñÆ®·Î ¹Ù²ãÁֱ⵵ ÇÏ¸ç ¹®ÀÚ¿­·Î ÀúÀåµÈ °ªÀ» double °ªÀ¸·Î ¹Ù²ãÁֱ⵵ Çϰí, ±× ¹Ý´ëÀÇ ¸Þ½îµåµµ Á¸Àç ÇÑ´Ù.

2.7 Integer Ŭ·¡½º

ÀÌ Å¬·¡½ºÀÇ °´Ã¼´Â int °ªÀ» ÀúÀåÇϰí ÀÖÀ¸¸ç int ±âº» ÀÚ·áÇüÀ» ´Ù·ç´Âµ¥ À¯¿ëÇÑ ¸Þ½îµå¸¦ Á¦°øÇϰí ÀÖ´Ù. ¿¹¸¦ µé¸é 10Áø¼ö·Î ÁÖ¾îÁø °ªÀ» 2Áø¼ö³ª, 16Áø¼ö, 8Áø¼ö·Î ¹Ù²ãÁÖ´Â ¸Þ½îµåµéÀÌ ÀÖ´Ù.

2.8 String Ŭ·¡½º

¹®ÀÚ¿­À» ´Ù·ç±â À§ÇÑ Å¬·¡½º·Î ÀÌ Å¬·¡½º¿¡´Â ¹®ÀÚ¿­À» ´Ù·ç±â À§ÇÑ ¿©·¯°¡Áö ¸Þ½îµå°¡ Á¸Àç ÇÑ´Ù. °¢ ÀÚ·áÇüÀÇ °ªÀ» ¹®ÀÚ¿­·Î ¹Ù²ãÁֱ⵵ Çϰí, ¹®ÀÚ¿­ÀÇ ÀϺκи¸ ³ÑÁ®ÁÖ´Â ¸Þ½îµå, ´ë¹®ÀÚ³ª ¼Ò¹®ÀÚ·Î ¹Ù²ãÁÖ´Â ¸Þ½îµåµéÀÌ ÀÖ´Ù.

2.9 StringBuffer Ŭ·¡½º

String Ŭ·¡½º¿Í ¸¶Âù°¡Áö·Î ¹®ÀÚ¿­À» ´Ù·ç±â À§ÇÑ Å¬·¡½º·Î °´Ã¼¿¡ ÀúÀåµÈ ³»¿ëÀ» ÀÓÀÇ´ë·Î ¹Ù²Ü ¼ö ÀÖ´Ù. µû¶ó¼­ ¹®ÀÚ¿­ÀÇ Áß°£¿¡ »ðÀÔÇϰųª Ãß°¡ ½ÃŰ´Â ¸Þ½îµåµéÀÌ ´ëºÎºÐÀÌ´Ù.

2.10 Math Ŭ·¡½º

º¹ÀâÇÑ ¼öÇÐÀû °è»êÀ» À§ÇÑ ¸Þ½îµåµé°ú »ó¼öµéÀÌ Á¦°øµÈ´Ù. ÀÌ Å¬·¡½º´Â ´Ù ¸¥ Ŭ·¡½ºµé°ú ´Þ¸® ¸ðµç ¸Þ½îµå¿Í º¯¼öµéÀÌ staticÀ¸·Î ¼±¾ðÀÌ µÇ¾î Àֱ⠶§¹®¿¡ new ¿¬»êÀÚ³ª newInstance () ¸Þ½îµå¸¦ ÀÌ¿ëÇÏ¿© °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ¾ø´Ù. ¶ÇÇÑ ÀÌ Å¬·¡½º´Â ´Ù¸¥ Ŭ·¡½ºµéÀÇ ½´ÆÛ Ŭ·¡½º°¡ µÉ ¼ö ¾ø´Ù.

2.11 System Ŭ·¡½º

Ç¥ÁØ ÀÔÃâ·Â°ú Ç¥ÁØ¿¡·¯¸¦ Á¦°øÇϰí À־ ¸¹ÀÌ »ç¿ëµÇ´Â Ŭ·¡½º·Î ½Ã½ºÅÛÀ» »ç¿ëÇϴµ¥ À־ ±âº»ÀÌ µÇ´Â ¸Þ½îµåµéÀ» Á¦°øÇÑ´Ù. ÀÌ Å¬·¡½ºµµ ÀÚ·áÇü¿¡ °ü·ÃµÈ Ŭ·¡½ºµé°ú ¸¶Âù°¡Áö·Î final·Î ¼±¾ðÀÌ µÇ¾î ÀÖ¾î »ó¼ÓÇØ¼­ »ç¿ëÇÒ ¼ö ¾ø´Ù.

2.12 Runtime Ŭ·¡½º

¸ðµç ÀÚ¹Ù ÇÁ·Î±×·¥Àº Runtime Ŭ·¡½ºÀÇ single °´Ã¼·Î RuntimeŬ·¡½º´Â ÇÁ·Î±×·¥ÀÌ ½ÇÇà µÇ´Â È¯°æ°úÀÇ ÀÎÅÍÆäÀ̽º¸¦ °¡´ÉÇÏ°Ô ÇØÁØ´Ù. ÇÁ·Î±×·¥Àº ÀÚ½ÅÀÇ RuntimeŬ·¡½º °´Ã¼¸¦ ¸¸µéÁö ¸øÇÑ´Ù. µû¶ó¼­ ÀÌ Å¬·¡½º¿¡´Â »ý¼ºÀÚ°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù.

2.13 Thread Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ÀÚ¹Ù°¡ Áö¿øÇÏ´Â ¸ÖƼ ¾²·¹µùÀ» »ç¿ëÇϱâ À§Çؼ­ »ç¿ëµÈ´Ù. ÀÀ¿ë ÇÁ·Î±×·¥À» ¸¸µé ¶§ ¿©·¯ ¾²·¹µå¸¦ »ç¿ëÇϰíÀÚ ÇÒ °æ¿ì´Â ÀÌ Å¬·¡½ºÀÇ °´Ã¼³ª ÀÌ Å¬·¡½ºÀÇ ¼­ºê Ŭ·¡½ºÀÇ °´Ã¼¸¦ ¸¸µé¾î¼­ »ç¿ëÇÑ´Ù. ÀÌ Å¬·¡½º¿¡¼­´Â ¾²·¹µåÀÇ µ¿ÀÛ¿¡ °üÇÑ ±âº»ÀûÀÎ ¸Þ½îµåµéÀ» Á¦°øÇϰí ÀÖ´Ù.

2.14 ThreadGroup Ŭ·¡½º

ÀÚ¹ÙÀÇ ¸ðµç ¾²·¹µåµéÀº ¾²·¹µå ±×·ìÀÇ ¸â¹öÀÌ´Ù. ÀÌ Å¬·¡½º´Â ÀÌ·¯ÇÑ ¾²·¹µåµéÀ» ±×·ì ´ÜÀ§·Î ´Ù·ç±â À§ÇÑ ¸Þ½îµåµéÀ» Á¦°øÇϰí ÀÖ´Ù. ¾²·¹µå ±×·ìÀº ´Ù¸¥ ¾²·¹µå ±×·ìÀ» ¸â¹ö·Î °¡Áú ¼ö ÀÖ´Ù.

Class Ŭ·¡½º

ÀÌ Å¬·¡½ºÀÇ °´Ã¼´Â ½ÇÇàÁßÀÎ ÀÚ¹Ù ÇÁ·Î±×·¥¿¡ Àִ Ŭ·¡½º³ª ÀÎÅÍ ÆäÀ̽ºµéÀ» ³ªÅ¸ ³¾ ¼ö ÀÖ´Ù. ÀÌ Å¬·¡½º¿¡´Â public »ý¼ºÀÚ°¡ ¾ø±â ¶§¹®¿¡ °´Ã¼¸¦ new ¿¬»êÀÚ¸¦ ÀÌ¿ëÇØ¼­ Á÷Á¢ ¸¸µé ¼ö ¾ø´Ù.

3. java.util ÆÐŰÁö

Utility ÆÐŰÁö´Â ´Ù¾çÇÑ Ç¥ÁØ ÇÁ·Î±×·¡¹Ö µ¥ÀÌÅÍ ±¸Á¶Ã¼¸¦ Áö¿øÇϴ Ŭ·¡½ºµéÀ» Á¦°øÇÑ´Ù. ÀÌ Å¬·¡½ºµéÀº ÀÚ¹Ù ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§ À¯¿ëÇÏ°Ô »ç¿ë µÉ ¼ö ÀÖ´Ù.

3.1 java.util ÆÐŰÁöÀÇ ±¸Á¶

3.2 Date Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ³¯Â¥¿Í ½Ã°£¿¡ °ü°èµÈ ¸Þ½îµåµéÀ» °¡Áö°í ÀÖ´Ù.

3.3 Stack Ŭ·¡½º

ÀÌ Å¬·¡½º´Â stackÀÇ µ¿ÀÛÀ» ÇÏ´Â ¸â¹öµéÀ» °¡Áö°í ÀÖ´Ù.

3.4 Vector Ŭ·¡½º

ÀÌ Å¬·¡½º´Â °´Ã¼ÀÇ µ¿ÀûÀ¸·Î ÇÒ´çµÈ ¸®½ºÆ®¸¦ Áö¿øÇÑ´Ù. Vector Ŭ·¡½ºÀÇ °´Ã¼ÀÇ ÀúÀå ´É·Â ÀÌ»óÀ¸·Î ÀúÀå ÇÒ ¶§ ÀúÀå ´É·ÂÀ» ÀÚµ¿À¸·Î Áõ°¡ ½ÃÄÑ ÁØ´Ù.

4. java.io ÆÐŰÁö

µ¥ÀÌÅÍÀÇ ÀԷ°ú Ãâ·ÂÀ» ÇÏÁö ¾Ê´Â À¯¿ëÇÑ ÇÁ·Î±×·¥Àº Á¸Àç ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ´ëºÎºÐÀÇ ÇÁ·Î±×·¥Àº »ç¿ëÀڷκÎÅÍ ÀÔ·ÂÀ» ¿ä±¸Çϰųª ÇÁ¸°Æ®³ª È­¸é ¶Ç´Â ÆÄÀÏ µîÀ¸·Î Ãâ·ÂÀ» ÇÑ´Ù. java.io ÆÐŰÁö´Â ÀÌ·¯ÇÑ ´Ù¾çÇÑ ÀÔÃâ·Â¿¡ °ü°èµÈ Ŭ·¡½º¸¦ Á¦°øÇÑ´Ù.
ÀԷ¿¡ °ü·ÃµÈ Ŭ·¡½ºµéÀÇ ¸Þ½îµåµéÀº ´ëºÎºÐ InputStream Ŭ·¡½º¿¡ ÀÖ´Â ¸Þ½îµåµé°ú °°´Ù. Ãâ·Â¿¡ °ü·ÃµÈ ¸Þ½îµåµéµµ OutputStream Ŭ·¡½ºÀÇ ¸Þ½îµåµé°ú ºñ½ÁÇÏ¸ç °¢ Ŭ·¡½ºÀÇ »ý¼ºÀÚµéÀº InputStremaÀ̳ª OutputStreamŬ·¡½ºÀÇ ¼­ºêŬ·¡½º¸¦ ¸Å°³º¯¼ö·Î ¹Þ¾Æ¼­ ½ºÆ®¸² ¿¬°áÀ» ÇÑ´Ù. ¿©±â¼­´Â InputStream Ŭ·¡½º¿Í OutputStream Ŭ·¡½º¸¦ Áß½ÉÀ¸·Î ¸Þ½îµåÀÇ ±¸¼ºÀÌ ´Ù¸¥ Ŭ·¡½ºµé°ú ¸Þ½îµå¸¸ º¸°Ú´Ù.

4.1 java.io ÆÐŰÁö ±¸¼º

4.2 InputStream Ŭ·¡½º

¸ðµç ÀÔ·Â ½ºÆ®¸² Ŭ·¡½ºÀÇ ½´ÆÛ Ŭ·¡½º·Î ±âº»ÀûÀÎ ÀԷ¿¡ °ü·ÃµÈ ¸Þ½îµåµéÀ» Á¦°øÇÑ´Ù. ÀÌ Å¬·¡½º´Â abstract Ŭ·¡½º·Î new ¿¬»êÀÚ³ª newInstance() ¸Þ½îµå¸¦ ÀÌ¿ëÇÏ¿© Á÷Á¢ÀûÀ¸·Î °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ¾ø´Ù.

4.3 ByteArrayInputStream Ŭ·¡½º

ÀÌ Å¬·¡½ºÀÇ °´Ã¼´Â º°µµÀÇ ÀÔ·ÂÀåÄ¡°¡ ¾Æ´Ñ byteÀÇ ¹è¿­¿¡¼­ ÀڷḦ ÀÐ¾î µéÀδÙ. ´Ù¸¥ ÀÔ·Â ½ºÆ®¸²µé°ú ´Þ¸® ÀÌ Å¬·¡½ºÀÇ ÀÔ·Â ¸Þ½îµåµéÀº blockµÇÁö ¾Ê´Â´Ù.

4.4 DataInputStream Ŭ·¡½º

¿©·¯ Á¾·ùÀÇ ÀÔ·Â ¸Þ½îµå¸¦ °¡Áö°í ÀÖ´Ù. ¶óÀÎ ´ÜÀ§·Î 󸮸¦ ÇÒ ¼ö ÀÖÀ¸¸ç, °¢Á¾ µ¥ÀÌÅÍ Çü½ÄÀ¸·Î ÀÐ¾î µéÀÏ ¼ö ÀÖ´Ù.

 

4.5 PipedInputStream Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ÆÄÀÌÇÁÀÇ ¾ç ³¡À» ÀÌ¿ëÇØ¼­ ¼­·Î Åë½ÅÇÒ °æ¿ì »ç¿ëµÇ´Âµ¥, ÇÑ ¾²·¹µå°¡ ÆÄÀÌÇÁÀÇ ÇÑÂÊÀ» ÀÌ¿ëÇØ¼­ µ¥ÀÌÅ͸¦ º¸³»¸é ´Ù¸¥ ¾²·¹µå°¡ ´Ù¸¥ ÆÄÀÌÇÁÀÇ ÇÑÂÊÀ» ÀÌ¿ëÇØ¼­ µ¥ÀÌÅ͸¦ ÀÐ¾î µéÀÏ ¼ö ÀÖ´Ù.

4.6 PushbackInputStream Ŭ·¡½º

ÀÌ Å¬·¡½º´Â 1¹ÙÀÌÆ® push back buffer¸¦ Á¦°øÇÏ´Â ÀÔ·Â ½ºÆ®¸² ÇÊÅÍ·Î, ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ¸¶Áö¸·À¸·Î ÀÐÀº ÇÑ ¹®ÀÚ¸¦ "unread"ÇÒ ¼ö ÀÖ´Ù. µû¶ó¼­ "unread"ÇÑ ¹®ÀÚ´Â ´Ù½Ã ÀÐ¾î µéÀÏ ¼öÀÖ´Ù.

4.7 FileInputStream Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ÆÄÀϷκÎÅÍ ÀÔ·ÂÀ» ¹Þ±â À§ÇØ »ç¿ë µÈ´Ù. ÀоîµéÀ̱â À§ÇÑ ¸Þ½îµå´Â InputStream Ŭ·¡½º¿Í °°´Ù. ¿©±â¼­´Â DataInputStream Ŭ·¡½º¿Í ¿¬µ¿ÇÏ´Â ¿¹Á¦¸¸ º¸À̵µ·Ï ÇϰڴÙ.

4.8 OutputStream Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ¸ðµç Ãâ·Â ½ºÆ®¸² Ŭ·¡½ºµéÀÇ ½´ÆÛ Ŭ·¡½ºÀ̸ç, abstract Ŭ·¡½º¶ó new ¿¬»êÀÚ³ª newInstance()¸Þ½îµå¸¦ ÀÌ¿ëÇØ¼­ Á÷Á¢ÀûÀ¸·Î °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ¾ø´Ù. ´ëºÎºÐÀÇ Ãâ·Â ½ºÆ®¸² Ŭ·¡½º´Â ÀÌ Å¬·¡½º¿Í ¸â¹ö°¡ ºñ½ÁÇÑ´Ù.

4.9 ByteArrayOutputStream Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ¹ÙÀÌÆ® ¹è¿­¿¡ Ãâ·ÂÀ» Çϱâ À§ÇÑ Ãâ·Â ½ºÆ®¸²À» °¡Áø´Ù. ¹öÆÛ´Â ¾µ ¶§ ÀÚµ¿ÀûÀ¸·Î ±× Å©±â°¡ Áõ°¡µÈ´Ù.

4.10 DataOutputStream Ŭ·¡½º

ÀÌ Å¬·¡½º´Â °£´ÜÇÑ ¹æ½ÄÀ¸·Î Ãâ·Â ½ºÆ®¸²¿¡ ÀÚ¹Ù ±âº» µ¥ÀÌÅÍÇüÀ» Ãâ·ÂÇϴµ¥ À¯¿ëÇÏ´Ù.

4.11 PipedOutputStream Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ÆÄÀÌÇÁÀÇ º¸³»´Â ÂÊ¿¡ À§Ä¡ÇÑ´Ù. µÎ ¾²·¹µå°£ÀÇ Åë½Å¿¡¼­ ÀÌ Å¬·¡½º´Â º¸³»´Â ÂÊ¿¡ À§Ä¡Çؼ­ µ¥ÀÌÅ͸¦ º¸³»´Â ¿ªÇÒÀ» ÇÑ´Ù.

4.12 PrintStream Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ÁÖ·Î ÅØ½ºÆ®·Î Ãâ·Â µ¥ÀÌÅ͸¦ Ãâ·ÂÇϱâ À§Çؼ­ µðÀÚÀÎ µÇ¾ú´Ù. ÀÌ Å¬·¡½º¿¡´Â ´Ù¼öÀÇ print()¿Í println()¸Þ½îµå°¡ °¢°¢ ¸Å°³ º¯¼ö·Î ¼­·Î ´Ù¸¥ ÀÚ·áÇüÀ» ¹Þ¾Æ µéÀ̵µ·Ï overload µÇ¾î ÀÖ´Ù. ÄÚµåÀÇ ±¸ÇöÀº println()¸Þ½îµå´Â print()¸Þ½îµå¸¦ ÀÌ¿ëÇϵµ·Ï µÇ¾î ÀÖ°í, print()¸Þ½îµå´Â write()¸Þ½îµå¸¦ ÀÌ¿ëÇØ¼­ Ãâ·Â Çϵµ·Ï µÇ¾î ÀÖ´Ù. Println()¸Þ½îµå¿Í print()¸Þ½îµå´Â ÁÙ¹Ù²Þ ±â´ÉÀÇ ¿©ºÎÀÌ´Ù. ¿©±â¼­´Â println()¸Þ½îµå¸¸ ¼³¸íÇϵµ·Ï ÇϰڴÙ.

4.13 FileOutputStream Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ÆÄÀÏ·Î Ãâ·ÂÀ» Çϱâ À§ÇØ »ç¿ë µÈ´Ù. ¾²±âÀ§ÇÑ ¸Þ½îµåµéÀº OutputStream Ŭ·¡½º¿Í °°´Ù. ¿©±â¼­´Â PrintStream Ŭ·¡½º¿Í ¿¬µ¿ÇÏ´Â ¿¹Á¦¸¸ º¸À̵µ·Ï ÇϰڴÙ.

5. Java.net ÆÐŰÁö

ÀÚ¹ÙÀÇ ³×Æ®¿öÅ· ±â´ÉÀ» Æ÷ÇÔÇϰí ÀÖ´Ù. TCP´Â ¹°·Ð UDP¸¦ ´Ù·ê ¼ö Àִ Ŭ·¡½º°¡ Á¦°øµÇ¸ç, URLÇü½ÄÀ¸·Î µ¥ÀÌÅ͸¦ ÀÐ¾î ¿Ã ¼ö ÀÖ´Â URL°ü·Ã Ŭ·¡½ºµéµµ Á¦°øµÇ°í ÀÖ´Ù.

5.1 java.net ÆÐŰÁö ±¸Á¶

5.2 Socket Ŭ·¡½º

ÀÌ Å¬·¡½º´Â Ŭ¶óÀ̾ðÆ®ÀÇ ¼ÒÄÏ ±¸ÇöÀ» À§ÇØ »ç¿ëµÈ´Ù. ¹°·Ð µÎ ÄÄÇ»ÅÍ °£ÀÇ Åë½Å¿¡¼­ ¾çÂÊ ³¡À» ´ã´çÇÏ´Â °ÍÀÌ ¼ÒÄÏÀÌ´Ù. µû¶ó¼­ ¼­¹ö ÂÊ¿¡¼­µµ ¼ÒÄÏÀ» °¡Áö°í Ŭ¶óÀÌ¾ðÆ®¿Í Åë½ÅÀ» ÇÏ°Ô µÈ´Ù.

5.3 ServerSocket Ŭ·¡½º

ÀÌ Å¬·¡½º´Â ¼­¹öÂÊÀÇ ¼ÒÄÏ ±¸ÇöÀ» Á¦°øÇÑ´Ù. ¼­¹ö ¼ÒÄÏÀº Ŭ¶óÀ̾ðÆ®ÀÇ Á¢¼Ó ¿äûÀÌ ÀÖÀ» ¶§±îÁö ±â´Ù¸°´Ù.

5.4 DatagramSocket Ŭ·¡½º

UDP¸¦ ÀÌ¿ëÇÏ¿© Åë½Å ÇϰíÀÚ ÇÒ ¶§ »ç¿ëÇÒ ¼ö ÀÖ´Â ¼Û¼ö½ÅÀ» À§ÇÑ ¸Þ½îµåµéÀ» Á¦°øÇϰí ÀÖ´Ù.

5.5 DatagramPacket Ŭ·¡½º

UDP¸¦ ÀÌ¿ëÇÏ¿© Åë½Å ÇϰíÀÚ ÇÒ ¶§ DatagramSocket¿¡¼­ º¸³»´Â ÆÐŶÀ¸·Î »ç¿ëÇÑ´Ù.

 

5.6 URL Ŭ·¡½º

ÀÌ Å¬·¡½º¸¦ ÀÌ¿ëÇϸé ÀÚ¹Ù Äڵ忡¼­ À¥»óÀÇ ¾î´À °÷¿¡ ÀÖ´Â ÀÚ¿ø¿¡³ª Á¢±ÙÀÌ °¡´ÉÇÑ´Ù. ¶ÇÇÑ ÇÁ·ÎÅäÄݰú Æ÷Æ®¸¦ ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ¾î ¾î¶² ÇÁ·ÎÅäÄݵµ »ç¿ë ÇÒ ¼ö ÀÖÀ¸¸ç µû¶ó¼­ ÀÎÅÍ³Ý »óÀÇ ¸ðµç ÀÚ¿ø¿¡ Á¢±ÙÀÌ °¡´É ÇÒ ¼ö ÀÖ´Ù.

6 °á ·Ð

Áö±Ý±îÁö ÀÚ¹Ù ÆÐŰÁöÁß GUI¿Í applet¿¡ °ü·ÃµÈ °ÍÀ» Á¦¿Ü Çϰí ÀÚ¹Ù ÇÁ·Î±×·¥¿¡ À־ ±âº»ÀÌ µÇ´Â ÆÐŰÁöµé°ú ±× ÆÐÁöµéÀÇ Å¬·¡½ºµé¿¡ ´ëÇØ¼­ »ìÆì º¸¾Ò´Ù. ¸ðµç Ŭ·¡½ºµé¿¡ ´ëÇØ¼­ ÀÚ¼¼ÇÏ°Ô »ìÇDZ⠺¸´Ù´Â ÀÚÁÖ »ç¿ëµÇ´Â Ŭ·¡½º À§ÁÖ·Î ÆÐŰÁöÀÇ Æ¯¼º°ú Ŭ·¡½ºµéÀÇ Æ¯¼º ¹× ¸Þ½îµåµéÀÌ ÇÏ´Â ¿ªÇÒ µîÀ» °£´ÜÇÏ°Ô »ìÆì º¸¾Ò´Ù. ÀÚ¹Ù ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Â »ç¶÷À̶ó¸é ¹Ýµå½Ã ¾Ë¾Æ¾ß ÇÒ °ÍµéÀÌ JDK¿¡ Æ÷ÇÔµÈ APIµé·Î ÇÁ·Î±×·¥ °³¹ßÁß¿¡µµ °è¼ÓÀûÀ¸·Î »ìÆì¾ß ÇÒ ³»¿ëµéÀÌ´Ù.

Âü°í¹®Çå(References)

[SUN 96]
SunSoft, Java API Documentation, 1996
URL:http://www.javasoft.com:80/products/JDK/1.0.2/api/
[SUN 96}
SunSoft, The Java Tutorial, 1996
URL:http://www.javasoft.com/books/Series/Tutorial/index.html
[Michael Morrison 96]
Michael Morrison ¿Ü 19ÀÎ, ¹Ú ö¿ì ¿ª, ´ë¸², 1996
[½Å Á¤È£ 96]
½Å Á¤È£, Á¦°¥ ¿µ, Á¶ ±¹, ÀÚ¹Ù¸¦ ÀÚ¹Ù¶ó, ¹Ì·¡Á¤º¸»ç, 1996
URL:http://www.misotech.com/~mikimous/java/book/
[¹Ì¼ÒÅ×Å© 96]
½Å±â¼ú ±³À°¼¾ÅÍ, ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö, 1996
URL:http://www.misotech.com/road/miso/n-tec/index.html

Tuesday, 09-Dec-2014 17:25:27 UTC Last-Modified : Sunday, 19-Oct-96 KDT