[[TableOfContents]] == ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö ¾ð¾î == === Hello World === * Hello.java {{{#!vim java public class Example { public static void main(String[] args) { System.out.println("Hello World!"); } } }}} * C++¿Í ´Þ¸® Ŭ·¡½º Á¤ÀÇ µÚ¿¡ ¼¼¹ÌÄÝ·ÐÀÌ ºÙÁö ¾Ê´Â´Ù. * main() ÇÔ¼ö°¡ Ŭ·¡½º ³»ºÎ¿¡ ¸Þ½îµå·Î µé¾î°¡ ÀÖ´Ù. * ¼Ò½º ÆÄÀÏ À̸§ÀÇ È®ÀåÀÚ´Â .java ÀÌ´Ù. {{{ command_prompt> javac Hello.java }}} * .java¸¦ ÄÄÆÄÀÏÇϸé .class °¡ »ý¼ºµÈ´Ù. * JVM(Java Virtual Machine)Àº .class ¸¦ Àо ½ÇÇàÇÑ´Ù. * ½ÇÇàÇÒ .class ÆÄÀÏÀ» JVM¿¡ ³Ñ°ÜÁÙ ¶§¿¡´Â È®ÀåÀÚ¸¦ »ý·«ÇÑ´Ù. {{{ command_prompt> java Hello }}} === ÁÖ¼®(comment) === * C++ ¾ð¾î¿Í µ¿ÀÏ === ½Äº°ÀÚ(identifier) === * C ¾ð¾î¿Í À¯»ç * ¿¹¾à¾î(reserved word) * C ¾ð¾î¿Í ¸¶Âù°¡Áö·Î Å°¿öµå°¡ ¿¹¾à¾î·Î ¿¹¾àµÇ¾î ÀÖ¾î »ç¿ëÀÚ°¡ Á¤ÀÇÇÒ ¼ö ¾ø´Ù. * null, false, true ´Â ¸®ÅÍ·²·Î ¿¹¾àµÇ¾î ÀÖ´Â ½Äº°ÀÚÀÌ´Ù. * const ¿Í goto ´Â ÀÚ¹Ù¿¡ ±¸ÇöµÇ¾î ÀÖÁö´Â ¾ÊÁö¸¸ ¿¹¾à¾îÀÌ´Ù. * Å°¿öµå(keyword) ||[#s-1.11.1 abstract] ||[#s-1.4.7 boolean] ||[#s-1.6 break] ||[#s-1.4.1 byte] ||[#s-1.6 case] ||[#s-1.12.1 catch] || ||[#s-1.4.8 char] ||[#s-1.7.1 class] ||const ||[#s-1.6 continue] ||[#s-1.6 default] ||[#s-1.6 do] || ||[#s-1.4.6 double] ||[#s-1.6 else] ||[#s-1.7.3 extends] ||[#s-1.7.6 final] ||finally ||[#s-1.4.5 float] || ||[#s-1.6 for] ||goto ||[#s-1.6 if] ||[#s-1.8.3 implements] ||[#s-1.10.2 import] ||[#s-1.5.2 instanceof] || ||[#s-1.4.3 int] ||[#s-1.8.2 interface] ||[#s-1.4.4 long] ||native ||[#s-1.7.2 new] ||[#s-1.10.1 package] || ||[#s-1.7.8 private] ||[#s-1.7.8 protected] ||[#s-1.7.8 public] ||[#s-1.6 return] ||[#s-1.4.2 short] ||static || ||strictfp ||[#s-1.7.5 super] ||[#s-1.6 switch] ||[#s-1.16.1 synchronized] ||[#s-1.7.7 this] ||[#s-1.12.2 throw] || ||[#s-1.12.3 throws] ||transient ||[#s-1.12.1 try] ||[#s-1.4.9 void] ||volatile ||[#s-1.6 while] || * escape sequence * C ¾ð¾î¿Í µ¿ÀÏ * unicode escape * ¼Ò½º Äڵ忡¼­ unicode escape ¸¦ »ç¿ëÇϸé pre-processor °¡ ¸ÕÀú 󸮸¦ ÇØ ¹ö¸°´Ù. === ÀÚ·áÇü === * ±âº»Çü(primitive type)°ú ÂüÁ¶Çü(reference type)À¸·Î ±¸ºÐÇÑ´Ù. * ±âº»ÇüÀº Á¤¼öÇü(byte, short, int, long), ½Ç¼öÇü(float, double), ³í¸®Çü(boolean), ¹®ÀÚÇü(char)À¸·Î ³ª´µ°í, ÂüÁ¶ÇüÀº C ¾ð¾îÀÇ Æ÷ÀÎÅÍ¿¡ ÇØ´çÇÑ´Ù. * ±âº»ÇüÀÌ ¾Æ´Ñ ¸ðµç ÀÚ·áÇüÀº ÂüÁ¶ÇüÀÌ´Ù. Áï Ŭ·¡½º·Î ¼±¾ðÇÏ´Â ¸ðµç ÀÚ·áÇüÀº ÂüÁ¶ÇüÀÌ´Ù. * ÂüÁ¶ÇüÀº C ¾ð¾îÀÇ Æ÷ÀÎÅͳª C++ ¾ð¾îÀÇ reference ¿Í ºñ½ÁÇÑ °³³äÀ» °®°í ÀÖ´Ù. * ÀÎÀÚÀü´Þ ¹æ½Ä¿¡ ÀÖ¾î ±âº»ÇüÀº call-by-value ¹æ½ÄÀ», ÂüÁ¶ÇüÀº call-by-reference ¹æ½ÄÀ» »ç¿ëÇÑ´Ù. * Ç÷§Æû »çÀÌÀÇ È£È¯¼ºÀ» ¼³°è ±âÁØÀ¸·Î Çϴ Ư¼º ¶§¹®¿¡ C ¾ð¾î¿¡ ºñÇØ ÀÚ·áÇü »çÀÌÀÇ º¯È¯À» ¾ö°ÝÈ÷ Á¦ÇÑÇÏ°í ÀÖ´Ù. ==== byte ==== * 8 bits * signed ==== short ==== * 16 bits * signed ==== int ==== * 32 bits * signed ==== long ==== * 64 bits * signed ==== float ==== * 32 bits ==== double ==== * 64 bits ==== boolean ==== * false ¿Í true °ªÀ» °®´Â´Ù. * Å©±â´Â? ==== char ==== * 16 bits * unsigned ==== void ==== * C ¾ð¾î¿Í µ¿ÀÏ ==== ¸®ÅÍ·²(lieral) ==== * C ¾ð¾î¿Í À¯»ç * long Çü - ¼ýÀÚ µÚ¿¡ Á¢¹Ì»ç·Î L ¶Ç´Â l ÀÌ ¿Â´Ù. * float Çü - ¼ýÀÚ µÚ¿¡ Á¢¹Ì»ç·Î F ¶Ç´Â f °¡ ¿Â´Ù. * double Çü - ¼ýÀÚ µÚ¿¡ Á¢¹Ì»ç·Î D ¶Ç´Â d °¡ ¿Â´Ù. * boolean Çü - false, true * reference Çü - null ==== ±âº»Çü¿¡ ¿¬°áµÈ Æ÷Àå Ŭ·¡½º(wrapper class) ==== * Byte * Short * Integer * Long * Character * Float * Double * Boolean ==== ±âŸ ¼ö½Ä °ü·Ã Ŭ·¡½º ==== * Math * Random * import java.util.* * BigIngeger * Å« ¼öÀÇ Á¤¼öÇü * import java.math.* * BigDecimal * Å« ¼öÀÇ ½Ç¼öÇü * import java.math.* === ¿¬»êÀÚ(operators) === * C ¾ð¾î¿Í À¯»ç * sizeof ¿¬»êÀÚ°¡ ¾ø´Ù. ==== ½¬ÇÁÆ® ¿¬»êÀÚ ==== ===== << ===== * ¿ÞÂÊÀ¸·Î ½¬ÇÁÆ®Çϸ鼭 ¿À¸¥ÂÊ ³¡À» 0 À¸·Î ä¿î´Ù. ===== >>> ===== * zero extension * ¿À¸¥ÂÊÀ¸·Î ½¬ÇÁÆ®Çϸ鼭 ¿ÞÂÊ ³¡À» 0 À¸·Î ä¿î´Ù. ===== >> ===== * sign extension * ¿À¸¥ÂÊÀ¸·Î ½¬ÇÁÆ®Çϸ鼭 ¿ÞÂÊ ³¡À» ºÎÈ£¿¡ µû¶ó 0 ¶Ç´Â 1 ·Î ä¿î´Ù. ==== insanceof ==== * ¾î¶² °´Ã¼°¡ ¾î¶² Ŭ·¡½ºÀÇ ÀνºÅϽºÀΰ¡¸¦ ¾Ë¾Æº¸´Â ¿¬»êÀÚÀÌ´Ù. * ¿¬»êÀÚÀÇ ¿ÞÂÊ¿¡´Â ¾î¶² °´Ã¼¸¦ °¡¸®Å°´Â ÂüÁ¶Çü º¯¼ö°¡ ¿À°í, ¿À¸¥ÂÊ¿¡´Â Ŭ·¡½º À̸§ÀÌ ¿Â´Ù. * ¿¬»ê°ªÀº true ¶Ç´Â false ÀÌ´Ù. {{{#!vim java if( obj instanceof AClass ) { doSomething(); } }}} === Á¦¾î¹®(control statements) === * C ¾ð¾î¿Í À¯»ç * if-else * switch-case-default * while * do-while * for * break, contiue, goto * return * if, while, do-while, for ¹®¿¡¼­ »ç¿ëÇÏ´Â Á¶°Ç½Ä¿¡´Â ¹Ýµå½Ã boolean ½ÄÀÌ ³ª¿Í¾ß ÇÑ´Ù. * break ¿Í continue µÚ¿¡ À̸§Ç¥¸¦ ºÙÀ̸é, À̸§Ç¥°¡ ¸í½ÃÇÑ °÷À¸·Î ¸¶Ä¡ C ¾ð¾îÀÇ goto ó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù. {{{#!vim java Label_01: { initSomething(); for( int i = 0; i < 10; i++ ) { if( doSomething(i) == false ) { break Label_01; } } } }}} * À̸§Ç¥ ´Þ¸° break ¹®Àº goto ó·³ ¾îµð¼­³ª »ç¿ë °¡´ÉÇÏÁö¸¸, À̸§Ç¥ ´Þ¸° continue ¹®Àº for, while, do-while ¹®¿¡¼­¸¸ »ç¿ë°¡´ÉÇÏ´Ù. === Ŭ·¡½º === ==== class ==== {{{#!vim java class SuperClass { } }}} * Ŭ·¡½º Á¤ÀÇ ¹æ½ÄÀº C++ ¾ð¾î¿Í ºñ½ÁÇÏ´Ù. * C++ ¿¡¼­ Ŭ·¡½º Á¤ÀÇ´Â ÀÏÁ¾ÀÇ »ç¿ëÀÚ ÀÚ·áÇüÀ» »õ·Î ¸¸µå´Â Á¤Àǹ®À̱⠶§¹®¿¡ Ŭ·¡½º Á¤ÀÇ µÚ¿¡´Â ¼¼¹ÌÄÝ·ÐÀÌ ¹Ýµå½Ã ¿Í¾ß ÇÏÁö¸¸, Java ¾ð¾î¿¡¼­ Ŭ·¡½º Á¤ÀÇ´Â ÀÏÁ¾ÀÇ ºí·° °³³äÀ¸·Î Ŭ·¡½º Á¤ÀÇ µÚ¿¡ ¼¼¹ÌÄÝ·ÐÀÌ ¿Í¼­´Â ¾È µÈ´Ù. * Objcet Ŭ·¡½º´Â ¸ðµç Ŭ·¡½ºÀÇ Á¶»óÀÌ¸ç ¾î¶² Ŭ·¡½º¿¡µµ ¼ÓÇÏÁö ¾Ê´Â´Ù. ==== new ==== * new °¡ ÁöÁ¤Çϴ Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ ¸¸µç´Ù. {{{#!vim java AClass a = new AClass(); MyClass aMyClass = new MyClass(10, 20, 30); }}} ==== extends ==== * Ŭ·¡½º¸¦ Á¤ÀÇÇÒ ¶§ »ó¼Ó ¹ÞÀ» Ŭ·¡½º¸¦ ÁöÁ¤ÇÑ´Ù. {{{#!vim java class SuperClass { } class SubClass extends SuperClass { } }}} * extends ¿¡ ÀÇÇÑ ´ÙÁß »ó¼ÓÀº Áö¿øÇÏÁö ¾Ê´Â´Ù. ==== ¸Þ½îµåÀÇ ¿À¹ö·Îµù(overloading)°ú ¿À¹ö¶óÀ̵ù(overiding) ==== * C++ ¾ð¾î¿Í À¯»ç * ¿À¹ö·Îµù * ÇÑ Å¬·¡½º ³»¿¡ °°Àº À̸§ÀÇ ¸Þ½îµå¸¦ ¿©·¯ °³ µÎ´Â °ÍÀ» ¸»ÇÑ´Ù. * ´Ü Àü´ÞÀÎÀÚµéÀÇ ÀÚ·áÇü·Î ¿À¹ö·ÎµùÇÑ ¸Þ½îµåµéÀ» ¸ðµÎ ±¸º°ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. * ¿À¹ö¶óÀ̵ù * ¼öÆÛ-Ŭ·¡½º¿¡ ÀÖ´Â ¸Þ½îµå¿Í À̸§°ú Àü´ÞÀÎÀÚµéÀÇ ÀÚ·áÇüÀÌ °°Àº ¸Þ½îµå¸¦ ¼­ºê-Ŭ·¡½º¿¡¼­ ¼±¾ðÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. * È£Ãâ ¿ì¼±¼øÀ§´Â ¼­ºê-Ŭ·¡½ºÀÇ ÀνºÅϽº¿¡¼­ ¼±¾ðÇÑ ¸Þ½îµå°¡ ³ô´Ù. ==== super ==== * ¼­ºê-Ŭ·¡½º¿¡¼­ ¼öÆÛ-Ŭ·¡½ºÀÇ »ý¼ºÀÚ¸¦ È£ÃâÇÑ´Ù. {{{#!vim java class SuperClass { protected int x, y; public SuperClass(int x, int y) { this.x = x; this.y = y; } public SubClass extends SuperClass { public SubClass(int x, int y) { super(x, y); } } } }}} * ¼­ºê-Ŭ·¡½ºÀÇ »ý¼ºÀÚ¿¡¼­ super ¸¦ ¸í½ÃÇÏÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î super() ¸¦ È£ÃâÇÑ´Ù. * this ¿Í ¸¶Âù°¡Áö·Î ¼­ºê-Ŭ·¡½º »ý¼ºÀÚÀÇ ¸Ç ¾Õ¿¡ ¿Í¾ß ÇϹǷÎ, super ¿Í this ¸¦ °°ÀÌ »ç¿ëÇÒ ¼ö ¾ø´Ù. ==== final ==== * C ¾ð¾îÀÇ const ¿Í ºñ½ÁÇÑ °³³äÀ¸·Î final ·Î ÁöÁ¤ÇÑ º¯¼öÀÇ °ªÀº ¹Ù²Ü ¼ö ¾ø´Ù. * final ·Î ÁöÁ¤ÇÑ ÂüÁ¶Çü º¯¼ö°¡ ´Ù¸¥ °´Ã¼¸¦ ÂüÁ¶Çϵµ·Ï ¹Ù²Ü ¼ö´Â ¾øÁö¸¸ °´Ã¼ ÀÚü´Â ¹Ù²Ù´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ÀÌ°ÍÀº C ¾ð¾îÀÇ »ó¼öÇü Æ÷ÀÎÅÍ¿Í ºñ½ÁÇÑ °³³äÀÌ´Ù. * final ·Î ¼±¾ðµÈ Ŭ·¡½º´Â »ó¼ÓÀÌ ¾È µÈ´Ù. * final ¸Þ½îµå´Â ¿À¹ö¶óÀ̵ùÇÒ ¼ö ¾ø´Ù. ==== this ==== * C++ ¾ð¾îÀÇ this ¿Í °°Àº °³³äÀÌ´Ù. * °´Ã¼ ÀÚ½ÅÀ» return ¹®À» ÅëÇؼ­ ¹ÝȯÇÒ ¶§ »ç¿ëÇÑ´Ù. * °´Ã¼ ÀÚ½ÅÀ» Àü´ÞÀÎÀÚ·Î º¸³¾ ¶§ »ç¿ëÇÑ´Ù. * Áö¿ª º¯¼öÀÇ À̸§ÀÌ class ÀÇ ¸â¹ö¿Í °°Àº À̸§À» °®°í ÀÖÀ» ¶§, ¼­·Î¸¦ ±¸º°ÇØÁÖ±â À§ÇØ »ç¿ëÇÑ´Ù. ==== Á¢±Ù Á¦ÇÑ ==== * C++ ¿Í À¯»ç * public * private * protected === Ãß»ó Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽º Ŭ·¡½º === ==== abstract ==== * Ãß»ó Ŭ·¡½º¸¦ ¸¸µé ¶§ »ç¿ëÇÑ´Ù. {{{#!vim java abstract class AbstractClass { public abstract setValue(int nValue); } }}} * Ãß»ó Ŭ·¡½º´Â ¿Ï¼ºµÇÁö ¾ÊÀº Ŭ·¡½ºÀ̱⠶§¹®¿¡ Ãß»ó Ŭ·¡½º·Î´Â ÀνºÅϽº¸¦ ¸¸µé ¼ö ¾ø´Ù. * Ãß»ó ¸Þ½îµå°¡ ÇÑ °³¶óµµ Àִ Ŭ·¡½º´Â ¹Ýµå½Ã Ãß»ó Ŭ·¡½º°¡ µÇ¾î¾ß ÇÑ´Ù. * Ãß»ó ¸Þ½îµå´Â private, static, final, native, strictfp °¡ ¿Ã ¼ö ¾ø´Ù. * Á¤Àû ¸Þ½îµå´Â Ãß»ó Ŭ·¡½º ³»¿¡ Á¤ÀÇÇÒ ¼ö ¾ø´Ù. * Ãß»ó Ŭ·¡½º·Î´Â ´ÙÁß »ó¼ÓÀ» ÇÒ ¼ö ¾ø´Ù. ==== interface ==== * ´ÙÁß »ó¼ÓÀÌ °¡´ÉÇÏ´Ù. {{{#!vim java interface A { } interface B { } class C implements A, B { } }}} * interface Ŭ·¡½ºÀÇ Çʵå´Â public static final À̾î¾ß ÇÑ´Ù. * interface Ŭ·¡½ºÀÇ ¸Þ½îµå´Â public abstract À̾î¾ß ÇÑ´Ù. ==== implements ==== * interface ·Î Á¤ÀÇÇÑ Å¬·¡½º¸¦ ±¸ÇöÇÒ ¶§ »ç¿ëÇÑ´Ù. {{{#!vim java interface A { } class B implements A { } }}} === ÁßøµÈ Ŭ·¡½º === === ÆÐÅ°Áö === * ÆÐÅ°Áö´Â Àڹ٠Ŭ·¡½º¸¦ ¹èÆ÷ÇÒ ¶§, Ŭ·¡½º À̸§ °æ·Î¸¦ Á¦½ÃÇÏ¿©, Ÿ Ŭ·¡½º¿ÍÀÇ À̸§ Ãæµ¹À» ÇÇÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁØ´Ù. ==== package ==== * ÇϳªÀÇ ÀÚ¹Ù ¼Ò½º ÆÄÀÏ¿¡´Â ÇϳªÀÇ package ¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. * package À̸§Àº º¸Åë ¼Ò¹®ÀÚ·Î ¾´´Ù. * package À̸§Àº °èÃþ ±¸Á¶¸¦ °¡Áú ¼ö ÀÖ°í, ÀÌ °èÃþ ±¸Á¶´Â Æú´õÀÇ ±¸Á¶¿Í °°¾Æ¾ß ÇÑ´Ù. * public Ŭ·¡½ºÀÇ À̸§Àº ¼Ò½º ÆÄÀÏ À̸§°ú °°¾Æ¾ß ÇÑ´Ù. * kr/pe/tactlee/Button.java {{{#!vim java package kr.pe.tactlee; public class Button { } }}} * kr/pe/tactlee/special/Button.java {{{#!vim java package kr.pe.tactlee.special; public class Button { } }}} * package ¹®ÀÌ ¾ø´Â ¼Ò½º ÆÄÀÏ¿¡ ¼±¾ðµÈ Ŭ·¡½º´Â µðÆúÆ® ÆÐÅ°Áö¿¡ ¼ÓÇÑ´Ù. ==== import ==== * À§ÀÇ Button.java¸¦ ´Ù¸¥ ÀÚ¹Ù ¼Ò½º ÆÄÀÏ¿¡¼­ »ç¿ëÇϱâ À§Çؼ­´Â import ¸¦ »ç¿ëÇÑ´Ù. {{{#!vim java import kr.pe.tactlee.Button; }}} ¶Ç´Â {{{#!vim java import kr.pe.tactlee.*; }}} * import ´Â ½ÇÁ¦·Î ÇØ´ç Ŭ·¡½º¸¦ ·ÎµùÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ´ÜÁö Ŭ·¡½º À̸§ °æ·Î¸¦ »ý·«ÇØ ÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù. µû¶ó¼­ Ŭ·¡½º À̸§ °æ·Î¸¦ ¸ðµÎ »ç¿ëÇÑ´Ù¸é, import ¾øÀ̵µ Ŭ·¡½º »ç¿ëÀº °¡´ÉÇÏ´Ù. {{{#!vim java public class MyButton { kr.pe.tactlee.Button b = new kr.pe.tactlee.Button(); } }}} * import ¹®ÀÇ »ý·« * java.lang ÆÐÅ°ÁöÀÇ Å¬·¡½ºµéÀº import ¹® ¾øÀ̵µ »ç¿ëÀÌ °¡´ÉÇÏ´Ù. * ¿¹¸¦ µé¾î ÀÚÁÖ »ç¿ëÇÏ´Â println() ÀÌ ¼ÓÇØ ÀÖ´Â System Ŭ·¡½ºÀÇ ¿ø·¡ À̸§Àº java.lang.System ÀÌ´Ù. === ¹è¿­ === * ±âº»ÇüÀÇ ¹è¿­ °´Ã¼ ¼±¾ð°ú »ý¼º {{{#!vim java int[] intArray = new int[5]; }}} * ±âº»ÇüÀÇ ¹è¿­ °´Ã¼ ¼±¾ð°ú ÃʱâÈ­ {{{#!vim java int[] intArray = { 10, 20, 30, 40, 50 }; }}} * ¹è¿­ÀÌ À妽ÌÀº C ¾ð¾î¿Í µ¿ÀÏ * ´ÙÂ÷¿ø ¹è¿­ÀÇ ¼±¾ð°ú »ý¼º {{{#!vim java int[][] intArray = new int[3][5]; }}} * ¼öÆÛ Å¬·¡½º·Î ¼±¾ðÇÑ ¹è¿­¿¡ ¼­ºê Ŭ·¡½ºÀÇ °´Ã¼¸¦ ³ÖÀ» ¼ö ÀÖ´Ù. {{{#!vim java class SuperClass { } class SubClassA extends SuperClass { } class SubClassB extends SuperClass { } SuperClass[] arraySuperClass = new SuperClass[3]; arraySuperClass[0] = new SuperClass(); arraySuperClass[1] = new SubClassA(); arraySuperClass[2] = new SubClassB(); }}} * Ŭ·¡½º ¹è¿­ °´Ã¼´Â ÂüÁ¶Çü ¹è¿­ °´Ã¼·Î¼­ ÃʱⰪÀº null ÀÌ´Ù. * interface ·Î °´Ã¼¸¦ »ý¼ºÇÒ ¼ö´Â ¾øÁö¸¸ ¹è¿­À» ¸¸µé ¼ö´Â ÀÖ´Ù. ÀÌ ¹è¿­¿¡´Â interface ¸¦ ±¸ÇöÇÑ Å¬·¡½ºÀÇ °´Ã¼¸¦ ³ÖÀ» ¼ö ÀÖ´Ù. {{{#!vim java interface SuperInterface { } class SubClassA implements SuperInterface { } class SubClassB implements SuperInterface { } SuperInterface[] arraySuperInterface = new SuperInterface[2]; arraySuperInterface[1] = new SubClassA(); arraySuperInterface[1] = new SubClassB(); }}} * ¹è¿­ÀÇ º¹Á¦ {{{#!vim java int[] intArray = { 1, 2, 3 }; int[] intArrayClone = (int[])intArray.clone(); }}} * ¹è¿­°ú °ü·ÃµÈ Ŭ·¡½º * System.array() * Arrays Ŭ·¡½º === ¿¹¿Ü»óȲ === ==== try-catch ==== ==== throw ==== ==== throws ==== === ¸®Ç÷º¼Ç === === ¾²·¹µå === === ½ºÆ®¸² === === Á÷·ÄÈ­ === ==== synchronized ==== === ¸Þ¸ð¸® °ü¸® === === assert === === ±âŸ === ==== static ==== ==== strictfp ==== ==== volatile ==== == ÀÚ¹Ù Æ©Å丮¾ó == * [http://java.sun.com/ ½ã¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî], [http://java.sun.com/docs/books/tutorial/index.html ''The Java Tutorial''] ([http://java.sun.com/docs/books/tutorial/information/download.html Download]) * ÀÌ´öÇÏ, ''Java Programming Language Á¤º¹'',2002 ([attachment:BavaLang.zip zip]) == API ·¹ÆÛ·±½º == * [http://java.sun.com/j2se/1.5.0/docs/api/ Java 2 Platform Standard Ed. 5.0 API Reference] == ÀÚ¹Ù °ü·Ã ¸µÅ© == * http://blog.naver.com/etwas0227/60009029130 * http://www-128.ibm.com/developerworks/java/newto/ * http://blog.naver.com/slaltats/120010574953 * http://www.eclipse.org/articles/index.html * http://www.javacafe.or.kr/ == Upload == [[UploadedFiles]] [[UploadFile]]