¹¹µçÁö ÇÑ ¹ø Àß ¸¸µé¾î ³õÀ¸¸é ÀçÈ°¿ëÇϱ⠽±´Ù. ¹ßÇ¥ Àڷᳪ À̷¼µµ
óÀ½ ¸¸µé±â°¡ ¾î·ÆÁö Æ÷¸ËÀ» ¿Ï¼ºÇØ µÎ¸é ´ÙÀ½ºÎÅÍ °ÅÀú ¸Ô±â´Ù. º¹»ç ÈÄ ¼öÁ¤ ÀÛÀüÀº ÀÏ»óÀûÀ¸·Î »ç¿ëÇϴµ¥
Ä£±¸ ·¹Æ÷Æ®¸¦ ¾à°£ ¼öÁ¤ÇÏ¿© Á¦ÃâÇØ º» °æÇèÀº ´©±¸³ª ÀÖ´Ù. ±×´ë·Î º£³¢¸é µéÅ볪´Ï ¼ø¼³ª ±×¸²À» ¹Ù²Ù°í
ƯÈ÷ Çйø°ú À̸§Àº ±âÇÊÄÚ ¹Ù²ã¾ß ÇÑ´Ù.
Äڵ嵵 ÀçÈ°¿ëÇÏ´Â °æ¿ì°¡ ºó¹øÇÏ¸ç °³¹ßÀÚ¿¡°Ô Copy & Paste´Â
Àͼ÷ÇÏ°í Æí¸®ÇÑ ¹«±âÀÌ´Ù. ±âÁ¸ÀÇ ÄÚµå¿Í À¯»çÇϰųª ¾à°£ È®ÀåµÈ Á¤µµ¶ó¸é ÀÏ´Ü °¡Á®¿Â ÈÄ °íÃÄ ¾²´Â
°ÍÀÌ È¿À²ÀûÀÌ´Ù. ÄÚµå Á¶°¢À» ÀçÈ°¿ëÇϱ⵵ ÇÏ°í ¸Þ¼µå¸¦ º¯ÇüÇؼ ¾²±âµµ ÇÑ´Ù.
Ŭ·¡½º´Â ¼Ó¼º°ú µ¿ÀÛÀ» ĸ½¶ÈÇÏ¿© ÀçÈ°¿ë¼ºÀÌ Å¹¿ùÇÏ´Ù. ½Ç¼¼°èÀÇ ¿ä±¸°¡
ÀÚÁÖ ¹Ù²î¹Ç·Î ±â´ÉÀ» ´õÇϰųª º¯°æÇÏ´Â °æ¿ìµµ ¸¹´Ù. ÀÌ·² °æ¿ì ÀüÅëÀûÀ¸·Î Copy & Paste¶ó´Â ¹æ¹ýÀ» ÁÖ·Î »ç¿ëÇß¾ú´Ù. ÀÏ´Ü º¹»çÇØ
³õ°í ¶â¾î °íÄ¡´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î HumanÀ̶ó´Â Àß
¸¸µé¾îÁø Ŭ·¡½º¸¦ È®ÀåÇÏ¿© Student Ŭ·¡½º¸¦ ¸¸µç´Ù°í ÇØ º¸ÀÚ.
»ç¶÷À» Ç¥ÇöÇÏ´Â Human Ŭ·¡½º´Â À̸§°ú ³ªÀÌ ¼Ó¼ºÀ» °¡Áö°í ¼Ò°³ÇÏ´Â
µ¿ÀÛÀ» ÇÑ´Ù. ÀÌ·¸°Ô ¼±¾ðµÈ HumanÀÇ ¼Ò½º¸¦ ±×´ë·Î º¹»çÇÏ¿©
À̸§¸¸ Student·Î º¯°æÇÏ¸é ¶È°°Àº Ŭ·¡½º°¡ ¸¸µé¾îÁø´Ù. ÀÌ
»óÅ¿¡¼ »õ·Î¿î ¸â¹ö¸¦ Ãß°¡Çϸé HumanÀ» È®ÀåÇÑ »õ Ŭ·¡½º°¡ µÈ´Ù.
¿øº»ÀÎ HumanÀº ±×´ë·Î ³²¾Æ ÀÖ°í À̸¦ º¹»çÇÑ Student´Â ±â´ÉÀÌ È®ÀåµÇ¾ú´Ù. º¹»ç ÈÄ ¼öÁ¤Àº ¸ÚÁø ÀçÈ°¿ë ¹æ¹ýÀÌ°í
´©±¸¿¡°Ô³ª Àͼ÷ÇÏÁö¸¸ ³Ê¹« ´Ü¼øÇؼ ¸î °¡Áö ÇÑ°è°¡ ÀÖ´Ù.
ù ¹ø°·Î, ¿øº» Ŭ·¡½ºÀÇ ¼±¾ð¹®ÀÌ È®À庻¿¡ ¹Ýº¹µÈ´Ù´Â Á¡¿¡¼ ³¶ºñ°¡
ÀÖ´Ù. À§ ¿¹¸¦ º¸¸é HumanÀÇ name, age, intro()°¡ Student¿¡ ¶È°°ÀÌ ¹Ýº¹µÈ´Ù. 2Â÷, 3Â÷ È®À庻À» °è¼Ó ¸¸µé¸é ³¶ºñ°¡ ¹Ýº¹µÇ¸ç ¿øº»ÀÌ °Å´ëÇÒ¼ö·Ï, º¹»çÀÇ ´Ü°è°¡ ±íÀ»¼ö·Ï ½ÉÇØÁø´Ù.
°´Ã¼ÁöÇâ ¾ð¾î´Â Ŭ·¡½º È®ÀåÀ» À§ÇØ »ó¼Ó ±â¹ýÀ» »ç¿ëÇÑ´Ù. »ó¼ÓÀº
¿øº»ÀÇ ¸â¹ö¸¦ º¹»çÇÏ´Â µ¿ÀÛÀ» ÄÄÆÄÀÏ·¯°¡ ´ë½ÅÇØ ÁÖ´Â ±â¹ýÀÌ´Ù. Ŭ·¡½º ¼±¾ð¹®¿¡ »ó¼Ó¹ÞÀ» Ŭ·¡½º¸¸ ¹àÈ÷¸é
¿øº»ÀÇ ¸ðµç ¸â¹ö°¡ ÀÚµ¿ º¹»çµÇ¾î Ãß°¡ÇÒ ¸â¹ö¸¸ ´õ ¼±¾ðÇÏ¸é µÈ´Ù. º¹»ç ÈÄ ¼öÁ¤ ¹æ¹ý¿¡ ºñÇØ ¼±¾ð¹®ÀÇ
Áߺ¹ÀÌ ¾ø´Ù.
µÎ ¹ø°·Î, º¹»ç ÈÄ ¼öÁ¤Àº ¿øº»°ú È®À庻ÀÇ °ü°è°¡ ²÷¾îÁ® °ü¸®°¡
¾î·Æ´Ù. º¹»ç µ¿ÀÛÀº ¼Ò½º ÆíÁýÁß¿¡ ¼öÀÛ¾÷À¸·Î ÀÌ·ç¾îÁö¸ç ÀÏ´Ü º¹»çµÇ¸é ¿ÏÀüÈ÷ ºÐ¸®µÇ¾î ¹ö¸°´Ù. ÀÌ »óÅ¿¡¼ ¿øº»ÀÌ º¯°æµÇ¸é È®À庻À» ´Ù½Ã º¹»çÇϰųª ¶È°°ÀÌ ¼öÁ¤ÇØ¾ß ÇÏ´Â ¹ø°Å·Î¿òÀÌ ÀÖ´Ù.
¹Ý¸é »ó¼ÓÀº ÄÄÆÄÀÏ Áß¿¡ º¹»ç°¡ ¼öÇàµÇ¹Ç·Î ¿øº»ÀÌ ¹Ù²î¸é È®À庻µµ ÀÚ¿¬½º·´°Ô º¯°æµÈ´Ù. A, B µÎ °³ÀÇ ¸â¹ö¸¦ °¡Áø Parent¸¦ È®ÀåÇÏ¿© Child¸¦ ¸¸µé°í C ¸â¹ö¸¦ Ãß°¡ÇÑ »óÅ¿¡¼ A ¸â¹öÀÇ À̸§À̳ª ŸÀÔÀ» º¯°æÇÑ´Ù°í ÇØ º¸ÀÚ. º¹»ç ÈÄ ¼öÁ¤Àº ¾çÂÊÀ»
°°ÀÌ ÆíÁýÇØ¾ß ÇÏÁö¸¸ »ó¼ÓÇÑ °æ¿ì´Â ¿øº»ÀÇ A¸¸ º¯°æÇϸé È®À庻¿¡ ÀÚµ¿ Àû¿ëµÈ´Ù.
»õ·Î¿î ¸â¹ö D¸¦ Ãß°¡ÇÒ ¶§µµ »ó¼Ó °ü°è¿¡¼´Â Parent¿¡¸¸ D¸¦ ¼±¾ðÇϸé
Child¿¡ °°ÀÌ ¼±¾ðÇÏ´Â È¿°ú°¡ ÀÖ´Ù. ¼öÀÛ¾÷À¸·Î º¹»çÇÑ °æ¿ì ¾çÂÊ¿¡ ¸ðµÎ Ãß°¡ÇØ¾ß ÇÏ´Ï
¹ø°Å·Ó´Ù. º¹»ç ÈÄ ¼öÁ¤¿¡ ºñÇØ »ó¼ÓÀº Äڵ带 À¯Áö, º¸¼öÇϱâ
½±´Ù.
»ó¼ÓÀº ºÎ¸ðÀÇ ¸ðµç ¸â¹ö¸¦ ¹°·Á¹Þ¾Æ ÀÚ½Ä Å¬·¡½º¸¦ ¼±¾ðÇÏ´Â ±â¹ýÀÌ´Ù. °³³äÀûÀÎ
ÀÌÇظ¦ À§ÇØ º¹»ç ÈÄ ¼öÁ¤ÇÏ´Â ¹æ½Ä°ú ºñ±³ÇÏ¿© Àå´ÜÁ¡À» »ìÆì ºÃ´Âµ¥ ´Ü¼øÈ÷ ¸ö Á» ÆíÇØ º¸ÀÚ´Â ÀÛÀüÀÌ ¾Æ´Ï¶ó Â÷¿øÀÌ ´Ù¸¥ ±â¹ýÀÌ´Ù. »ó¼Ó¿¡ ÀÇÇÑ È¿°ú´Â ´ÙÀ½ ¼¼ °¡Áö°¡ ÀÖ´Ù.
¨ç ±âÁ¸ÀÇ Å¬·¡½º¸¦ ÀçÈ°¿ëÇÑ´Ù.
¨è °øÅëµÇ´Â ºÎºÐÀ» ºÎ¸ð Ŭ·¡½º¿¡
Á¤ÀÇÇÔÀ¸·Î½á ÄÚµåÀÇ °ü¸® ÆíÀǼºÀ» ³ôÀδÙ.
¨é ºÎ¸ð, Àڽİ£ÀÇ °èÃþÀ» Çü¼ºÇÏ¿© °´Ã¼ ÁýÇÕ¿¡ ´ÙÇü¼ºÀ» ºÎ¿©ÇÑ´Ù.
»ó¼Ó ±â¹ýÀ» »ç¿ëÇϸé ÀçÈ°¿ë¼ºÀ̳ª °ü¸® È¿À²¼ºÀº ¹°·ÐÀÌ°í Ŭ·¡½º °èÃþ¿¡ ÀÇÇÑ ´ÙÇü¼ºÀ̶ó´Â °íÂ÷¿øÀÇ ÀåÁ¡±îÁö Ãß°¡·Î
´©¸± ¼ö ÀÖ´Ù.
»ó¼ÓÀº ¿øº» Ŭ·¡½º·ÎºÎÅÍ È®ÀåµÈ »õ·Î¿î Ŭ·¡½º¸¦ Á¤ÀÇÇÏ°í µÎ Å¬·¡½ºÀÇ °ü°è¸¦ Çü¼ºÇÑ´Ù. »ó¼ÓÇÏ´Â ¿øº» Ŭ·¡½º¸¦ ½´ÆÛ Å¬·¡½º¶ó°í ÇÏ¸ç »ó¼Ó¹Þ¾Æ »õ·Î ¸¸µé¾îÁö´Â Ŭ·¡½º¸¦ ¼ºê Ŭ·¡½º¶ó°í ÇÑ´Ù. ¾ð¾î¿¡ µû¶ó »ó¼Ó °ü°èÀÇ ¾Æ·¡ À§ Ŭ·¡½º¸¦ ĪÇÏ´Â ¸íĪÀÌ ´Ù¸£´Ù.
ÀÚ¹Ù |
´Ù¸¥ ¾ð¾î |
½´ÆÛ(Super) |
±â¹Ý(Base), ºÎ¸ð(Parent), »óÀ§ |
¼ºê(Sub) |
ÆÄ»ý(Derived), ÀÚ½Ä(Child), ÇÏÀ§ |
ÀÚ¹Ù °ø½Ä ¹®¼´Â ½´ÆÛ Å¬·¡½º, ¼ºê Ŭ·¡½º¶ó´Â ¿ë¾î¸¦ »ç¿ëÇÏÁö¸¸
ÀÌ Ã¥¿¡¼´Â °¡Àå Á÷°üÀûÀÎ ºÎ¸ð, ÀÚ½ÄÀ̶ó´Â ¿ë¾î¸¦ ´ë½Å »ç¿ëÇÑ´Ù. »ó¼Ó
±¸¹®Àº ´ÙÀ½°ú °°´Ù.
class ÀÚ½Ä extends ºÎ¸ð {
Ãß°¡ ¸â¹ö
}
ÀÚ½Ä Å¬·¡½º À̸§ µÚ¿¡ extends Å°¿öµå¸¦ ¾²°í ºÎ¸ð Ŭ·¡½ºÀÇ
À̸§À» Àû´Â´Ù. ºÎ¸ð Ŭ·¡½º¸¦ È®ÀåÇÏ¿© ÀÚ½Ä Å¬·¡½º¸¦ Á¤ÀÇÇÑ´Ù´Â ÀǹÌÀÌ´Ù. ÀÌ ¼±¾ð¹®¿¡ ÀÇÇØ ÀÚ½ÄÀº ºÎ¸ðÀÇ ¸ðµç ¸â¹ö¸¦ ¹°·Á¹Þ´Â´Ù. ´ÙÀ½ ¿¹Á¦´Â
»ç¶÷ Ŭ·¡½º HumanÀ¸·ÎºÎÅÍ Çлý Ŭ·¡½º Student¸¦
»ó¼ÓÇÑ´Ù.
student |
|
class Human { int
age; String
name; Human(int
age, String name) { this.age
= age; this.name
= name; } void
intro() { System.out.println("¾È³ç, " + age + "»ì " + name +
"ÀÔ´Ï´Ù."); } } class Student extends Human { int
stnum; String
major; Student(int
age, String name, int stnum, String major) { super(age,
name); this.stnum
= stnum; this.major
= major; } void
study() { System.out.println("ÇÏ´Ãõ
µûÁö °ËÀ»Çö ´©¸¦È²"); } } class JavaTest { public
static void main(String[] args) { Human
kim = new Human(29, "±è»óÇü"); kim.intro(); Student
lee = new Student(42, "À̽¿ì", 9312345,
"°æ¿µ"); lee.intro(); lee.study(); } } |
|
½ÇÇà°á°ú |
¾È³ç, 29»ì ±è»óÇüÀÔ´Ï´Ù. ¾È³ç, 42»ì À̽¿ìÀÔ´Ï´Ù. ÇÏ´Ãõ µûÁö °ËÀ»Çö ´©¸¦È² |
Human Ŭ·¡½º´Â ³ªÀÌ Á¤º¸ÀÎ
age, À̸§ Á¤º¸ÀÎ name Çʵå¿Í ÀÚ½ÅÀ» ¼Ò°³ÇÏ´Â
intro() ¸Þ¼µå¸¦ ĸ½¶ÈÇÏ°í »ý¼ºÀÚ´Â µÎ °³ÀÇ Àμö¸¦ ¹Þ¾Æ Çʵ带 ÃʱâÈÇÑ´Ù. ½Ç¼¼°èÀÇ
»ç¶÷Àº ´õ º¹ÀâÇÏÁö¸¸ °£°áÇÔÀ» À§ÇØ ¸â¹ö¼ö¸¦ ÃÖ¼Ò·Î ¸ðµ¨¸µÇß´Ù.
ÇлýÀº »ç¶÷ÀÌ °¡Áö´Â ¸ðµç ¸â¹ö¸¦ °¡Áö¸ç ¿©±â¿¡ Çйø°ú Àü°ø ¼Ó¼ºÀÌ Ãß°¡µÇ°í °øºÎÇÏ´Â µ¿ÀÛÀÌ °¡´ÉÇÏ´Ù. Çлýµµ ÀÏÁ¾ÀÇ »ç¶÷À̹ǷΠÀ̸§°ú ³ªÀ̸¦ °¡Áö°í Àڱ⠼Ұ³¸¦ ÇÒ ¼ö ÀÖ´Ù. ±×·¡¼ Student Ŭ·¡½º´Â óÀ½ºÎÅÍ ´Ù½Ã ¸¸µé ÇÊ¿ä ¾øÀÌ HumanÀ¸·ÎºÎÅÍ
»ó¼Ó¹Þ´Â´Ù.
Å°¿öµå extendsÀÇ Àǹ̴ Ŭ·¡½º¸¦ È®ÀåÇÑ´Ù´Â ¶æÀÌ¸ç ºÎ¸ðÀÇ ¸ðµç
¸â¹ö¸¦ º¹»çÇ϶ó´Â Áö½Ã »çÇ×ÀÌ´Ù. HumanÀÇ ¸ðµç ¸â¹ö°¡
Student·Î º¹»çµÇ¸ç »ó¼Ó ÈÄ ´õ ÇÊ¿äÇÑ ¸â¹ö¸¦ Ãß°¡·Î ¼±¾ðÇß´Ù.
StudentÀÇ »ý¼ºÀÚ´Â 4°³ÀÇ
Àμö¸¦ Àü´Þ¹Þ¾Æ ±× Áß »ó¼Ó¹ÞÀº µÎ °³ÀÇ ¸â¹ö´Â HumanÀÇ »ý¼ºÀÚ¿¡°Ô ³Ñ°Ü Ãʱâȸ¦ À§ÀÓÇÑ´Ù. ºÎ¸ðÀÇ »ý¼ºÀÚ¸¦ È£ÃâÇÒ ¶§´Â Å°¿öµå super¸¦ »ç¿ëÇÏ¸ç »ó¼Ó¹ÞÀº
¸â¹ö¸¦ ¸ÕÀú ÃʱâÈÇÑ ÈÄ ÀÚ½ÅÀÇ ¸â¹ö¸¦ ÃʱâÈÇÑ´Ù.
Human ŸÀÔÀÇ °´Ã¼ kimÀ»
»ý¼ºÇÏ°í ¼Ò°³ÇØ º¸´Ï ³ªÀÌ¿Í À̸§À» Àß Ãâ·ÂÇÑ´Ù. Student ŸÀÔÀÇ °´Ã¼ lee¸¦ »ý¼ºÇÏ¿© ¼Ò°³ÇØ º¸°í °øºÎµµ ½ÃÄÑ º¸¾Ò´Ù. Student Ŭ·¡½º¿¡´Â
³ªÀÌ¿Í À̸§ÀÌ ¼±¾ðµÇ¾î ÀÖÁö ¾ÊÁö¸¸ lee´Â »ó¼Ó¹ÞÀº À̸§°ú ³ªÀ̸¦ °¡Áö¸ç Àڱ⠼Ұ³µµ ¸ÚÁö°Ô Çس½´Ù.
Student Ŭ·¡½º°¡ name,
age¸¦ Á÷Á¢ ¼±¾ðÇÑ °ÍÀº ¾Æ´ÏÁö¸¸ extends ±¸¹®¿¡ ÀÇÇØ HumanÀÇ ¸ðµç ¸â¹ö¸¦ ¹°·Á¹Þ±â ¶§¹®¿¡ lee°¡ Àڱ⠼Ұ³¸¦ ÇÒ
¼ö ÀÖ´Ù. extends Human ±¸¹®¿¡ ÀÇÇØ Student´Â age, name Çʵå¿Í intro ¸Þ¼µå¸¦ ±×´ë·Î ¹°·Á¹Þ´Â´Ù. »ó¼ÓÀÇ ¿¹¸¦ Çϳª ´õ º¸ÀÚ.
truck |
½ÇÇà°á°ú |
class Car { .... } class Truck extends Car { int
ton; Truck(String
name,int ton) { super(name,
false); this.ton
= ton; } void
load() { System.out.println("ÁüÀ»
½Æ´Â´Ù."); } } class JavaTest { public
static void main(String[] args) { Truck
porter = new Truck("Æ÷ÅÍ", 1); porter.run(); porter.load(); } } |
´úÄÈ ´úÄÈ ÁüÀ» ½Æ´Â´Ù. |
ÀÌ ¿¹Á¦´Â ÀϹÝÀûÀÎ Â÷¸¦ »ó¼ÓÇÏ¿© ÁüÀ» ½Æ´Â Æ®·°À» Á¤ÀÇÇÑ´Ù. TruckÀº Car·ÎºÎÅÍ »ó¼Ó¹ÞÀ¸¸ç ÃÖ´ë ÀûÀç·®ÀÎ ton ¼Ó¼º°ú ÁüÀ» ½Æ´Â load µ¿ÀÛÀ» Ãß°¡ÇÑ´Ù.
Æ®·°Àº À̸§ÀÌ ÀÖ°í ´Þ¸± ¼öµµ, ¸ØÃâ ¼öµµ ÀÖ´Ù. Æ®·°Àº º¸Åë °æÀ¯¸¦ »ç¿ëÇϹǷΠ»ý¼ºÀÚ¿¡¼ gasoline Çʵ带
¹«Á¶°Ç false·Î ÃʱâÈÇÑ´Ù. main¿¡¼ Truck °´Ã¼ porter¸¦ »ý¼ºÇÏ°í ÁüÀ» Àß ½Æ´ÂÁö Å×½ºÆ®ÇØ º¸¾Ò´Ù.
»ó¼ÓÀ» ¹ÞÀº ÀÚ½Ä Å¬·¡½º·ÎºÎÅÍ »õ·Î¿î Ŭ·¡½º¸¦ ¶Ç »ó¼ÓÇÒ ¼ö ÀÖ´Ù. »ó¼ÓÀÇ
±íÀÌ¿¡ Á¦¾àÀÌ ¾ø¾î ÇÊ¿äÇѸ¸Å °è¼Ó Ŭ·¡½º¸¦ È®Àå½ÃÄÑ ³ª°¡¸é µÈ´Ù. ´ÙÀ½ ¿¹Á¦´Â Student Çлý Ŭ·¡½º·ÎºÎÅÍ Graduate ´ëÇпø»ý Ŭ·¡½º¸¦
ÆÄ»ý½ÃŲ´Ù.
graduate |
|
class Human { .... } class Student extends Human { .... } class Graduate extends Student { String
thesis; Graduate(int
age, String name, int stnum, String major, String thesis) { super(age,
name, stnum, major); this.thesis
= thesis; } void
research() { System.out.println("±Ã½Ã··
±Ã½Ã··. ¹» ¿¬±¸ÇØ¾ß ¶¼µ·À» ¹ú±î?"); } } class JavaTest { public
static void main(String[] args) { Graduate
park = new Graduate(35, "¹Ú´ëÈñ", 95001122,
"Àü»ê", "À¥ º¸¾È¿¡ ´ëÇÑ ¿¬±¸"); park.intro(); park.study(); park.research(); } } |
|
½ÇÇà°á°ú |
¾È³ç, 35»ì ¹Ú´ëÈñÀÔ´Ï´Ù. ÇÏ´Ãõ µûÁö °ËÀ»Çö ´©¸¦È² ±Ã½Ã·· ±Ã½Ã··. ¹» ¿¬±¸ÇØ¾ß ¶¼µ·À» ¹ú±î? |
´ëÇпø»ýÀº Çкλý¿¡ ºñÇØ ³í¹®À̶ó´Â ¼Ó¼ºÀ» Ãß°¡·Î °¡Áö¸ç °øºÎ¸¸ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó µ¶Ã¢ÀûÀÎ ¿¬±¸µµ ¼öÇàÇÑ´Ù. ±×·¡¼ Student·ÎºÎÅÍ »ó¼Ó¹ÞÀº ÈÄ thesis Çʵå¿Í research ¸Þ¼µå¸¦ Ãß°¡Çß´Ù.
´ëÇпø»ý °´Ã¼ parkÀ» »ý¼ºÇÑ ÈÄ ¸Þ¼µå¸¦ È£ÃâÇØ º¸¾Ò´Ù. parkÀº Human°ú
Student·ÎºÎÅÍ »ó¼Ó¹ÞÀº ¸ðµç Çʵ带 °¡Áö¸ç intro, study ¸Þ¼µåµµ ÀÖ¾î ¼Ò°³µµ
ÇÏ°í °øºÎµµ ÇÑ´Ù. ¹°·Ð ÀÚ½ÅÀÇ °íÀ¯ Çʵ嵵 ÀÖ°í ¿¬±¸¸¦ ¼öÇàÇÏ´Â
research ¸Þ¼µåµµ Àß µ¿ÀÛÇÑ´Ù. ´ëÇпø»ýÀ¸·ÎºÎÅÍ ¸â¹ö¸¦ ´õ Ãß°¡ÇÏ¿© ¼®»ç, ¹Ú»ç¸¦ ÆÄ»ý½Ãų ¼öµµ ÀÖ´Ù. Ŭ·¡½º »ó¼Ó °ü°è¸¦ ±×·Á º¸¸é ´ÙÀ½°ú
°°´Ù.
ÀÌ ¿¹¿¡¼ º¸´Ù½ÃÇÇ Å¬·¡½º°£ÀÇ °ü°è´Â »ó´ëÀûÀÌ´Ù. Student´Â HumanÀÇ ÀÔÀå¿¡¼ º¸¸é ÀÚ½ÄÀÌÁö¸¸ GraduateÀÇ ÀÔÀå¿¡¼ º¸¸é
ºÎ¸ðÀÌ´Ù. Graduate¿¡°Ô HumanÀº ÇҾƹöÁö´Ù. »ó¼Ó °ü°è¿¡¼ ´õ À§ÂÊ¿¡ Àִ Ŭ·¡½º¸¦ ÅëĪÇÏ¿© Á¶»óÀ̶ó°í ÇÏ¸ç ¾Æ·¡ÂÊ¿¡ Àִ Ŭ·¡½º¸¦ ÅëĪÇÏ¿© ÈļÕÀ̶ó°í
ÇÑ´Ù. Human¿¡°Ô Student¿Í Graduate´Â ¸ðµÎ ÈļÕÀÌ´Ù.
°£´ÜÇÏ°Ô ÀÌÂ÷ »ó¼Ó±îÁö¸¸ ÇØ º¸¾Ò´Âµ¥ ¼ö½Ê ´Ü°è·Î »ó¼ÓµÇ´Â °æ¿ì°¡ Çã´ÙÇÏ´Ù. ¿À¸¥ÂÊ
±×¸²Àº µ¿¹°ÀÇ »ó¼Ó °èÃþÀÌ¸ç ¾Æ·¡·Î ³»·Á¿Ã¼ö·Ï ¸â¹ö°¡ Á¡Á¡ ´Ã¾î³ª È®Àå(extends)µÈ´Ù. À§ÂÊ¿¡ Àִ Ŭ·¡½º´Â ¸â¹ö¼ö°¡ Àû¾î ÀϹÝÀûÀÌ°í Æ÷°ýÀûÀÎ ´ë»óÀ» Ç¥ÇöÇÑ´Ù. ¾Æ·¡ÂÊÀ¸·Î
³»·Á°¥¼ö·Ï ´õ ¸¹Àº ¼Ó¼º°ú µ¿ÀÛÀÌ Ãß°¡µÇ¾î Ư¼öÇØÁø´Ù. µ¿¹°º¸´Ù´Â ¿ø¼þÀÌ°¡ ´õ º¹ÀâÇÑ Á¸ÀçÀÌ´Ù.
ºÎ¸ð´Â ¸ðµç ¸â¹ö¸¦ ÀڽĿ¡°Ô ¹°·ÁÁÖÁö¸¸ ¿¹¿ÜÀûÀ¸·Î »ý¼ºÀÚ´Â »ó¼ÓµÇÁö ¾Ê´Â´Ù. ºÎ¸ð¸¦
ÃʱâÈÇÏ´Â ¹æ¹ý°ú ÀÚ½ÄÀ» ÃʱâÈÇÏ´Â ¹æ¹ýÀÌ ÁúÀûÀ¸·Î ´Þ¶ó »ó¼Ó¹Þ¾Æµµ ¾µ ¼ö ¾ø´Ù. ´ë½Å ÀÚ½Ä »ý¼ºÀÚ¿¡¼
ºÎ¸ð »ý¼ºÀÚ¸¦ È£ÃâÇÏ¿© »ó¼Ó¹ÞÀº ¸â¹ö¸¦ ÃʱâÈÇϵµ·Ï ºÎŹÇÑ´Ù.
ÀÚ½Ä »ý¼ºÀÚ¿¡¼ ºÎ¸ð »ý¼ºÀÚ¸¦ È£ÃâÇÒ ¶§´Â super Å°¿öµå¸¦ »ç¿ëÇÑ´Ù. ÄÄÆÄÀÏ·¯´Â super È£Ãâ ±¸¹®ÀÇ Àμö ¸ñ·ÏÀ» º¸°í ½Ã±×´Ïó¿¡ ¸Â´Â
»ý¼ºÀÚ¸¦ È£ÃâÇÑ´Ù. ¾Õ ¿¹Á¦¿¡¼ ´ëÇпø»ý °´Ã¼ parkÀ»
»ý¼ºÇÒ ¶§ ¾î¶² °úÁ¤À» °ÅÃÄ parkÀÇ Çʵ尡 ÃʱâȵǴÂÁö ³»ºÎ È£Ãâ°úÁ¤À» µé¿©´Ù º¸ÀÚ.
new ¿¬»êÀÚ¿¡ ÀÇÇØ
GraduateÀÇ »ý¼ºÀÚ°¡ È£ÃâµÇ¸ç ´Ù¼¸ °³ÀÇ Àμö°¡ Àü´ÞµÈ´Ù. Graduate´Â super Å°¿öµå·Î ºÎ¸ð Ŭ·¡½ºÀÎ StudentÀÇ »ý¼ºÀÚ¸¦ È£ÃâÇÏ¿©
¹°·Á¹ÞÀº 4°³ÀÇ Àμö¸¦ ³Ñ±ä´Ù. ¿ø·¡ Àڱ⠰ÍÀÌ ¾Æ´Ï¾î¼
Á÷Á¢ ÃʱâÈÇÏÁö ¸øÇÏ°í ¹°·ÁÁØ ºÎ¸ð¿¡°Ô À§ÀÓÇÑ´Ù.
StudentÀÇ »ý¼ºÀÚµµ ¸¶Âù°¡Áö·Î
HumanÀÇ »ý¼ºÀÚ¸¦ È£ÃâÇÏ¿© ¹°·Á¹ÞÀº age, name ÇʵåÀÇ Ãʱâȸ¦ ºÎŹÇÑ´Ù. HumanÀº Àü´Þ¹ÞÀº Àμö·Î age, name Çʵ带 ÃʱâÈÇÏ¿©
¸®ÅÏÇÑ´Ù. StudentÀÇ »ý¼ºÀÚ´Â ºÎ¸ð ÃʱâÈ ÈÄ ÀÚ½ÅÀÇ °íÀ¯ ÇʵåÀÎ stnum°ú major¸¦ ÃʱâÈÇÏ°í ¸®ÅÏÇÑ´Ù. Graduate´Â ÀÚ½ÅÀÇ °íÀ¯ ¸â¹öÀÎ thesis¸¸ ÃʱâÈÇÏ¸é µÈ´Ù.
¾îÂ÷ÇÇ ÃʱâÈ¿¡ ÇÊ¿äÇÑ ¸ðµç Àμö¸¦ ´Ù Àü´Þ¹Þ¾Ò°í ¸ðµç ¸â¹ö¸¦ »ó¼Ó¹Þ¾ÒÀ¸´Ï ±»ÀÌ superÀÇ »ý¼ºÀÚ¸¦ È£ÃâÇÒ ÇÊ¿ä ¾øÀÌ Á÷Á¢ ´ëÀÔÇصµ µÉ °Í °°´Ù. À§
¿¹Á¦ÀÇ Student »ý¼ºÀÚ¿¡¼ age¿Í nameÀ» Á÷Á¢ ´ëÀÔÇصµ º° ¹®Á¦¾øÀ¸¸ç Àß ÃʱâȵȴÙ.
Student(int age, String name, int stnum, String
major) {
this.age
= age;
this.name
= name;
this.stnum
= stnum;
this.major
= major;
}
±×·¯³ª Human¿¡ ÀÌ¹Ì ÀÛ¼ºµÇ¾î ÀÖ´Â Äڵ尡 Áߺ¹µÇ¾ú°í Â÷ÈÄ µÎ
¸â¹ö¿¡ ´ëÇÑ ÃʱâÈ ¹æ¹ýÀÌ º¯°æµÇ¸é µÎ °÷À» ¼öÁ¤ÇØ¾ß ÇÏ´Â ¹ø°Å·Î¿òÀÌ ÀÖ´Ù. ¹°·Á¹ÞÀº Çʵ忡 ´ëÇÑ ÃʱâÈ
¹æ¹ýÀº ºÎ¸ð°¡ Àß ¾Ë°í ÀÖÀ¸´Ï Á÷Á¢ °Çµå¸®´Â °Íº¸´Ù ¾ÖÃÊÀÇ ¼ÒÀ¯ÀÚ¿¡°Ô ³Ñ±â´Â °ÍÀÌ ÇÕ¸®ÀûÀÌ´Ù.
ÀÚ½Ä Å¬·¡½º¿¡¼ ºÎ¸ðÀÇ »ý¼ºÀÚ¸¦ È£ÃâÇÒ ¶§´Â ¹Ýµå½Ã ù ÁÙ¿¡¼ È£ÃâÇØ¾ß ÇÑ´Ù.
´ÙÀ½°ú °°ÀÌ ÀÚ½ÅÀÇ ¸â¹ö¸¦ ¸ÕÀú ÃʱâÈÇÏ°í super¸¦ ³ªÁß¿¡ È£ÃâÇÏ¸é ¿¡·¯ 󸮵ȴÙ.
Student(int age, String name, int stnum, String
major) {
this.stnum
= stnum;
this.major
= major;
super(age,
name);
}
ÀÚ½ÄÀº ºÎ¸ð¿¡ ÀÇÁ¸ÀûÀÌ¾î¼ ÀÚ½Ä Çʵå´Â ºÎ¸ð ÇʵåÀÇ °ª¿¡ µû¶ó ¿µÇâÀ» ¹ÞÀ» ¼ö ÀÖÁö¸¸ ¹Ý´ë´Â ¼º¸³ÇÏÁö ¾Ê´Â´Ù. ºÎ¸ð´Â Àڽİú »ó°ü¾øÀÌ ±× ÀÚü·Î ¿Ïº®ÇÑ Å¬·¡½º¿©¼ ¸ÕÀú ÃʱâÈÇÏ´Â °ÍÀÌ ÇÕ´çÇÏ¸ç ±×·¡¼ super´Â ¹Ýµå½Ã ù ÁÙ¿¡ ¿Í¾ß ÇÑ´Ù.
ÀÚ½ÄÀº ºÎ¸ð¸¦ ÅëÇØ ¹°·Á¹ÞÀº ¸â¹ö¸¦ ÃʱâÈÇ쵂 ºÎ¸ðÀÇ »ý¼ºÀÚ Áß ¾î¶² °ÍÀ» È£ÃâÇÒ °ÍÀÎÁö ÃʱâÈ ¹æ¹ýÀ» ¼±ÅÃÇÒ
¼ö´Â ÀÖ´Ù. ºÎ¸ðÀÇ »ý¼ºÀÚ°¡ ¿©·¯ °³¶ó¸é ÀÚ½ÄÀº ÇÊ¿ä¿¡ µû¶ó ¶Ç´Â º¸À¯ÇÑ Á¤º¸¿¡ µû¶ó È£ÃâÇÏ°í ½ÍÀº
»ý¼ºÀÚ¸¦ ¼±ÅÃÇÑ´Ù.
super |
|
class Human { int
age; String
name; Human(int
age, String name) { this.age
= age; this.name
= name; } Human(float
birth, String name) { this(0,
name); java.time.LocalDate
now = java.time.LocalDate.now(); this.age
= now.getYear() - (int)birth + 1; } void
intro() { System.out.println("¾È³ç, " + age + "»ì " + name +
"ÀÔ´Ï´Ù."); } } class Student extends Human { int
stnum; String
major; Student(int
age, String name, int stnum, String major) { super(age,
name); this.stnum
= stnum; this.major
= major; } Student(float
birth, String name, int stnum, String major) { super(birth,
name); this.stnum
= stnum; this.major
= major; } void
study() { System.out.println("ÇÏ´Ãõ
µûÁö °ËÀ»Çö ´©¸¦È²"); } } class JavaTest { public
static void main(String[] args) { Student
kim = new Student(39, "³ëÁ¤¶õ", 9908123,
"°ÇÃà"); kim.intro(); Student
bae = new Student(1989.10f, "¹éÁö¿µ", 1125034,
"°£È£"); bae.intro(); } } |
|
½ÇÇà°á°ú |
¾È³ç, 39»ì ³ëÁ¤¶õÀÔ´Ï´Ù. ¾È³ç, 30»ì ¹éÁö¿µÀÔ´Ï´Ù. |
»ç¶÷ÀÇ ³ªÀ̸¦ Ç¥ÇöÇÒ ¶§ 24»ì ½ÄÀ¸·Î Á÷Á¢ ¾Ë·ÁÁÙ ¼öµµ ÀÖ°í 1989³â 10¿ù»ý ½ÄÀ¸·Î »ýÀÏÀ» ¾Ë·ÁÁÙ ¼öµµ ÀÖ´Ù. ÃʱâÈ ¹æ¹ýÀÇ °³¼ö¸¸Å »ý¼ºÀÚ¸¦ Á¦°øÇϴµ¥ ³¯Â¥´Â ¿ø·¡ Date °´Ã¼·Î
Ç¥ÇöÇÏÁö¸¸ ¹ø°Å·Î¿ö floatÇüÀÇ ³â.¿ù ÇüÅ·Π¹Þ¾Ò´Ù. Á» ¾î»öÇÑ ¸éÀÌ Àִµ¥ int ŸÀÔÀº ¿À¹ö·Îµù Á¶°ÇÀÌ ¼º¸³ÇÏÁö ¾Ê¾Æ
¾µ ¼ö ¾øÀ¸¸ç ²À ¾²·Á¸é String, int·Î ¼ø¼¸¦ ¹Ù²Ü ¼ö´Â ÀÖ´Ù. »ýÀÏÀ» ¹Þ´Â »ý¼ºÀÚ´Â ¿ÃÇØ ³âµµ¿¡¼ »ý³âÀ» »©°í 1À» ´õÇØ ³ªÀ̸¦
°è»êÇÑ´Ù.
ÀÚ½Ä Å¬·¡½ºÀÎ Student´Â ºÎ¸ðÀÇ »ý¼ºÀÚ Áß ¾î¶² °ÍÀ» È£ÃâÇÒ
°ÍÀÎÁö ¼±ÅÃÇÑ´Ù. ù ¹ø° Àμö°¡ floatÀÌ¸é ³¯Â¥¸¦ ¹Þ´Â Human »ý¼ºÀÚ¸¦ È£ÃâÇÏ°í intÀÌ¸é ³ªÀ̸¦ ¹Þ´Â Human »ý¼ºÀÚ¸¦ È£ÃâÇÑ´Ù. Studentµµ 2°³ÀÇ »ý¼ºÀÚ¸¦ °¡Áö´Âµ¥ °¢ »ý¼ºÀÚ¿¡¼ super¸¦ È£ÃâÇÒ ¶§ ½Ã±×´Ïó¿¡
µû¶ó ´ëÀÀµÇ´Â ºÎ¸ðÀÇ »ý¼ºÀÚ°¡ °áÁ¤µÈ´Ù.
main¿¡¼ µÎ °¡Áö ¹æ½ÄÀ¸·Î
Student °´Ã¼¸¦ »ý¼ºÇߴµ¥ Àμö ¸ñ·Ï¿¡ µû¶ó È£ÃâµÇ´Â »ý¼ºÀÚ °è¿ÀÌ ´Ù¸£´Ù. Àμö
¸ñ·ÏÀ¸·Î °´Ã¼ÀÇ »ý¼ºÀÚ¸¦ °áÁ¤ÇÏ°í È£ÃâÇÏ´Â ºÎ¸ð »ý¼ºÀÚµµ ´Þ¶óÁø´Ù.
ÇϳªÀÇ Å¬·¡½º·ÎºÎÅÍ ÆÄ»ýµÇ´Â Ŭ·¡½ºÀÇ °³¼ö¿¡ Á¦ÇÑÀÌ ¾ø¾î ¾ó¸¶µçÁö ¸¹Àº ÀÚ½Ä Å¬·¡½º¸¦ ÆÄ»ý½Ãų ¼ö ÀÖ´Ù. »ç¶÷¿¡ ÇйøÀ̶ó´Â ¼Ó¼º°ú °øºÎÇÏ´Â µ¿ÀÛÀ» Ãß°¡ÇØ ÇлýÀÌ µÇ¾úµíÀÌ ÇÊ¿äÇÑ ¸â¹ö¸¦ Ãß°¡ÇÏ¿© ´Ù¸¥ Ŭ·¡½º¸¦ ¸¸µé
¼öµµ ÀÖ´Ù.
multisub |
|
class Human { .... } class Student extends Human { .... } class Soldier extends Human { int
milnum; Soldier(int
age, String name, int milnum) { super(age,
name); this.milnum
= milnum; } void
fight() { System.out.println("µûÄá
µûÄá. ¾ÕÀ¸·Î ÀüÁø!!"); } } class Thief extends Human { String
item; int
star; Thief(int
age, String name, String item, int star) { super(age,
name); this.item
= item; this.star
= star; } void
steal() { System.out.println("»ì±Ý
»ì±Ý~~ ÈÄ´Ù´Ú~~"); } } class JavaTest { public
static void main(String[] args) { Student
lee = new Student(35, "ÀÌÀ²°î", 150629, "ÁÖÀÚÇÐ"); lee.study(); Soldier
kang = new Soldier(45, "°°¨Âù", 12345); kang.fight(); Thief
hong = new Thief(15, "È«±æµ¿", "ºÎÀÚÁý", 2); hong.steal(); } } |
|
½ÇÇà°á°ú |
ÇÏ´Ãõ µûÁö °ËÀ»Çö ´©¸¦È² µûÄá µûÄá. ¾ÕÀ¸·Î ÀüÁø!! »ì±Ý »ì±Ý~~ ÈÄ´Ù´Ú~~ |
ÀÌ ¿¹Á¦´Â »ç¶÷À¸·ÎºÎÅÍ Çлý, ±ºÀÎ,
µµµÏ³ðÀ» ÆÄ»ý½ÃŲ´Ù. ±ºÀΰú µµµÏ³ðµµ À̸§°ú ³ªÀÌ°¡ ÀÖ´Â »ç¶÷ÀÇ ÀÏÁ¾ÀÌ´Ù. ±ºÀÎÀº ±º¹ø ¼Ó¼ºÀ» °¡Áö¸ç ÀüÅõÇÏ´Â ´É·ÂÀÌ ÀÖ´Ù. µµµÏÀº ÀÚÁÖ ÈÉÄ¡´Â
Àü¹® Á¾¸ñ°ú ±³µµ¼Ò¿¡ µå³ªµç Àü·ÂÀÌ ÀÖÀ¸¸ç ¹°°ÇÀ» ÈÉÄ¡´Â ±â¼úÀ» º¸À¯ÇÑ´Ù. »ç¶÷ Ŭ·¡½º¿¡ ÀÌ·± ¸â¹ö¸¦
Ãß°¡ÇÏ¿© ¼¼ °³ÀÇ ÀÚ½Ä Å¬·¡½º¸¦ ÆÄ»ý½ÃÄ×À¸¸ç main¿¡¼ °´Ã¼¸¦ Çϳª¾¿ ¸¸µé¾î º¸¾Ò´Ù.
ÇлýÀº Ã¥À» ÀÐ°í ±ºÀÎÀº ½Î¿ì¸ç µµµÏÀº ÈÉÄ¡´Ù°¡ ¹ß°¢µÇ¸é µµ¸Á°£´Ù. ÀÌ·±
½ÄÀ¸·Î °æÂû, Á¤Ä¡ÀÎ, ÁÖºÎ, °ÅÁö µî ¸ðµç Á¾·ùÀÇ Àΰ£À» ÆÄ»ý½Ãų ¼ö ÀÖ´Ù. À§ ¿¹Á¦ÀÇ Å¬·¡½º
°èÃþµµ´Â ´ÙÀ½°ú °°´Ù. Çлý, ±ºÀÎ, µµµÏÀº Àΰ£À̶ó´Â °øµ¿ Á¶»óÀ¸·ÎºÎÅÍ ÆÄ»ýµÇ¸ç ÀϺΠ°°Àº ¼Ó¼ºÀ» °øÀ¯ÇÏ´Â ÇüÁ¦ °ü°èÀÌ´Ù.
»ó¼ÓÀÇ °³¼ö³ª ±íÀÌ¿¡ Á¦ÇÑÀÌ ¾ø¾î Ŭ·¡½º °èÃþÀÌ ¾öû³ª°Ô º¹ÀâÇØÁú ¼ö ÀÖ´Ù. ÇϳªÀÇ
Ŭ·¡½º·ÎºÎÅÍ °¡Áö¸¦ »¸¾î ³ª°¡´Ù º¸¸é ³ª¹« ¸ð¾çÀÇ °ü°è°¡ Çü¼ºµÇ´Âµ¥ ÀÌ·± »ó¼Ó °ü°è¸¦ ±×¸° °ÍÀ» Ŭ·¡½º °èÃþµµ¶ó°í ÇÑ´Ù. »ý¹°·ÎºÎÅÍ ½ÃÀÛÇÏ´Â °¡»óÀÇ Å¬·¡½º °èÃþµµ¸¦ ±×·Á º¸ÀÚ.
ÀÌ °èÃþµµ¿¡¼ Á¦ÀÏ À§¿¡ Àִ Ŭ·¡½º¸¦ ·çÆ®(root)¶ó°í ÇÏ¸ç ¸ðµç
Ŭ·¡½º¿¡ °øÅëÀûÀÎ ¸â¹ö¸¦ °¡Áø´Ù. »ý¹°ÀÇ °æ¿ì ¼¼Æ÷, È£ÈíÇÑ´Ù, ¹ø½ÄÇÑ´Ù¿Í °°Àº °¡Àå ÀϹÝÀûÀÎ ¸â¹ö¸¦ °¡Áø´Ù. Á¡Á¡ ´õ ¸¹Àº ¼Ó¼º°ú
µ¿ÀÛÀÌ Ãß°¡µÇ¾î ÇÏÀ§ Ŭ·¡½º°¡ ÆÄ»ýµÇ¸ç ¾Æ·¡·Î ³»·Á°¥¼ö·Ï ´õ Ư¼öÇÏ°í ±¸Ã¼ÀûÀΠŬ·¡½º°¡ µÈ´Ù.
½ÇÁ¦ »ó¿ë ¶óÀ̺귯¸®ÀÇ Å¬·¡½º °èÃþµµ´Â »ó»óÀ» ÃÊ¿ùÇÒ Á¤µµ·Î º¹ÀâÇÏ´Ù. ´ÙÀ½Àº MFC¶ó´Â Ŭ·¡½º ¶óÀ̺귯¸®ÀÇ °èÃþµµÀÌ´Ù. ±×³ª¸¶µµ ÀÚÁÖ ¾²´Â °Í¸¸
°£·«È÷ ¿ä¾àÇÑ °ÍÀÌ¸ç ½ÇÁ¦·Î´Â ÈξÀ ´õ ¹æ´ëÇÏ´Ù.
ÀÌ·± °èÃþÀ» Á¤È®ÇÏ°í ºü¸£°Ô ÀÌÇØÇÏ·Á¸é À§ÂÊÀÇ ºÎ¸ð Ŭ·¡½ººÎÅÍ ¼ø¼´ë·Î ÇнÀÇØ¾ß ÇÑ´Ù. ºÎ¸ð¸¦ Àß ÀÌÇØÇϸé ÆÄ»ý Ŭ·¡½º¸¦ °øºÎÇÏ´Â °ÍÀº ½ÄÀº Á× ¸Ô±âÀÌ°í °èÃþÀ» Àß ÆľÇÇØ µÎ¾î¾ß ¿øÇÏ´Â ¼Ó¼º°ú µ¿ÀÛÀ»
Àì½Î°Ô °Ë»öÇÏ¿© È°¿ëÇÒ ¼ö ÀÖ´Ù.