ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. Interface n. inter- ¿Í face°¡ °áÇÕµÈ ´Ü¾î·Î Ç¥¸éÀ̶ó´Â ¶æÀ» °¡Áø face¿Í °¢ ¹°Ã¼¸¦ ¿¬°áÇÒ ¶§ µÎ ¹°Ã¼ »çÀÌ(Êà)¸¦ ÀǹÌÇÏ´Â inter- Á¢µÎ»çÀÇ ÇÕ¼º¾î.¼ÒÇÁÆ®¿þ¾î ÀÎÅÍÆäÀ̽º
¼ÒÇÁÆ®¿þ¾î¿µ¿ª¿¡¼´Â Àڱ⠳»ºÎ¿¡¼ ¿ÜºÎÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖµµ·Ï À̾îÁÖ´Â Ãß»óÈµÈ ¼ö¿ë°´Ã¼·Î ÇØ¼®ÇÒ ¼ö ÀÖ´Ù. »çÀüÀû Àǹ̷δ °æ°è¸é, °øÀ¯ ¿µ¿ª, ÀÌÁ¾°£ÀÇ ÀÇ»ç ¼ÒÅë, Á¶È½ÃŰ´Ù, Á¶Á¤ÇÏ´Ù µîÀÇ Àǹ̰¡ ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ȯ°æ¿¡ ´Éµ¿ÀûÀ¸·Î ¹ÝÀÀÇÏ´Â »ý¹°Àº ¿ÜºÎÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾ÆµéÀ̱â À§ÇÑ ÀÎÅÍÆäÀ̽º¸¦ °¡Áø´Ù. ¿¹ÄÁµ¥, ÁÖº¯ÀÇ ¸ð½ÀÀ» ÀçÇöÇϱâ À§Çؼ, Àΰ£Àº ´«À̶ó´Â ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇØ¼ ±¤¼±À» ¹Þ¾ÆµéÀδÙ. ±¤¼±Àº µ¥ÀÌÅͰ¡ µÇ¸ç, ´«À¸·Î ¹ÞÀº ±¤¼±Á¤º¸´Â µÎ³ú¿¡¼ ±¸Ã¼ÀûÀÎ ÇüÅ·ΠÀçÇöµÈ´Ù. Á¤º¸¸¦ ¼ö¿ëÇÑ´Ù´Â Àǹ̿¡¼ ¶§¶§·Î ¼ö¿ë±â¶ó°í ºÎ¸£±âµµ ÇÑ´Ù.
ÄÄÇ»ÅÍ¿¡¼´Â ¼·Î ´Ù¸¥ ¸í·Éü°è¸¦ °¡Áø ¸í·É󸮱⠻çÀÌ¿¡¼ ¸í·ÉÀ» Àü´ÞÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. °¡Àå ÈçÈ÷ º¼ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º·Î User Interface¸¦ µé ¼ö ÀÖ´Ù. »ç¿ëÀÚ¿Í OS »çÀÌ¿¡¼ ¸í·É°ú °á°ú¸¦ Àü´ÞÇÏ´Â UI´Â Űº¸µåÀÇ Å° ´¸²°ú ¸¶¿ì½ºÀÇ ¿òÁ÷ÀÓÀ» ÀÌ¿ëÇØ »ç¿ëÀÚÀÇ Àǻ縦 OS¿¡ Àü´ÞÇϰí OS°¡ ó¸®ÇÑ °á°ú¸¦ »ç¿ëÀÚ¿¡°Ô µÇµ¹·ÁÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù. ±× ¿Ü¿¡µµ Device Driver¿Í Application »çÀÌ¿¡¼ ApplicationÀÇ ¸í·ÉÀ» Àü´ÞÇϰí Driver¿¡¼ ó¸®µÈ °á°ú¸¦ µÇµ¹·Á ÁشٴøÁö ÇÏ´Â ¿ªÇÒµµ ¸ðµÎ ÀÎÅÍÆäÀ̽º¶ó°í º¼ ¼ö ÀÖ´Ù. ÀüÀÚ°øÇп¡¼´Â Ĩ°ú Ĩ »çÀÌÀÇ ¹è¼±, ¹è¼±¿¡ ¿¬°áµÈ ³¡´ÜÀÇ ¼ÒÀÚµéÀ» Ãß»óÀûÀ¸·Î ¸»ÇÒ ¶§ ÀÎÅÍÆäÀ̽º¶ó°í ÇÑ´Ù.
½Ã½ºÅÛ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ °æ¿ì, ÇÁ·Î±×·¡¸Ó´Â ¿î¿µÃ¼Á¦¿Í ´ëȸ¦ ÇÒ Çʿ䰡 ÀÖ´Ù. ÀÌ·¯ÇÑ ´ëÈ´Â system_callÀ» ÅëÇØ¼ ÀÌ·ç¾îÁö¸ç, À̶§ system callÀÌ ¿î¿µÃ¼Á¦¿Í ÇÁ·Î±×·¡¸Ó °£ÀÇ ÀÎÅÍÆäÀ̽º ¿ªÇÒÀ» ÇÑ´Ù. ³ÐÀº Àǹ̷ΠÇÁ·Î±×·¡¹Ö½Ã¿¡ »ç¿ëµÇ´Â ¸ðµç system call°ú ÀÀ¿ë ¶óÀ̺귯¸®¸¦ ÇÁ·Î±×·¡¹Ö(ÀÎÅÍÆäÀ̽º)¶ó°í ÇÒ ¼ö ÀÖ´Ù. Interface/µ¥ÀÌÅÍ ÀÔÃâ·Â +----------+ +-------------+ +------------+ | ¿î¿µÃ¼Á¦ |<----->| System Call |<----->| ÇÁ·Î±×·¡¸Ó | +----------+ +-------------+ +------------+ °´Ã¼ÁöÇâ¿¡¼ÀÇ ÀÎÅÍÆäÀ̽º
°´Ã¼ÁöÇâ¿¡¼ÀÇ ÀÎÅÍÆäÀ̽º´Â ¾à°£ ´Ù¸¥°üÁ¡¿¡¼ ¹Ù¶óº¸´Â°Ô ÀÌÇØ¿¡ µµ¿òÀÌ µÉ °Í °°´Ù. °´Ã¼ÁöÇâ¿¡¼ ÀÎÅÍÆäÀ̽º´Â ½Ç¼¼°è¿¡¼ÀÇ methaphors(ÀºÀ¯)¿Í ºñ½ÁÇÏ´Ù. ÀºÀ¯´Â ³»ºÎÀÇ Àǹ̸¦ ¼û±ä»óÅ·Π¿Ü¿¬¸¸À» Á¦°øÇÑ´Ù. »ç¶÷¿¡°Ô º¸¿©Áö´Â °ÍÀº ¿Ü¿¬À̸ç, À̸¦ º¸°í ³»ºÎÀÇ Àǹ̸¦ ÆÄ¾ÇÇÏ°Ô µÈ´Ù. ÀºÀ¯ÀÇ ÀÕÁ¡Àº ´Ù¾çÇÑ »ç¶÷¿¡°Ô ´Ù¾çÇÑ Àǹ̸¦ Àü´ÞÇÒ ¼ö Àִٴµ¥ ÀÖ´Ù. ¿Ü¿¬À» º¸°í Àǹ̸¦ ÆÄ¾ÇÇÏ´Â °úÁ¤ Áï ÇØ¼®°ú ÀçÇöÀº Àΰ£ÀÇ µÎ³ú¿¡¼ ÀϾ´Â ÀÏÀε¥, ÇØ¼®°ú ÀçÇöÀÇ ¹æ¹ýÀº »ç¶÷¸¶´Ù ´Ù¸£±â ¶§¹®ÀÌ´Ù.
°´Ã¼ÁöÇâ¿¡¼ÀÇ ÀÎÅÍÆäÀ̽º´Â ÀºÀ¯ÀÇ ´Ù¸¥ À̸§ÀÌ´Ù. ÀÎÅÍÆäÀ̽º´Â´Â ´ÜÁö ¸Þ¼µåÀÇ ¿ÜÇüÀûÀÎ ¸ð½À¸¸À» °¡Áö°í ÀÖÀ» »ÓÀÌ´Ù. ½Ç±¸ÇöÀº ÀÎÅÍÆäÀ̽º¸¦ »ó¼Ó¹Þ¾Æ¼ ÀÌ·ç¾îÁø´Ù. ¾òÀ» ¼ö ÀÖ´Â ÀÕÁ¡Àº Çʿ信 µû¶ó¼ ´Ù¾çÇÑ ±¸ÇöÀ» ÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÌ µÉ °ÍÀÌ´Ù.
ȯŸÁö ¼¼°èÀÇ ±ºÀÎÀ» ¿¹·Î µé¾îº¸ÀÚ. solider interface´Â ±ºÀÎÀÇ ¿Ü¿¬¸¸À» Á¦°øÇÑ´Ù. Áï attack, defense, cure°¡ µÉ °ÍÀÌ´Ù. ½ÇÁ¦ ±¸ÇöÀº ÀÌ ÀÎÅÍÆäÀ̽º¸¦ »ó¼Ó¹Þ¾Æ¼ ÀÌ·ç¾îÁø´Ù. ¸¸¾à Àü»ç¸¦ ¸¸µé±â·Î Çß´Ù¸é, attackÀº Ä®°ø°Ý, defense´Â ¹æÆÐ¸·±â¸¦ Çϵµ·Ï ±¸ÇöµÉ °ÍÀÌ´Ù. ¹Ý¸é ¸¶¹ý»ç¸¦ ¸¸µé±â·Î Çß´Ù¸é attack´Â È¿°±¸³ª ³Ã±âµ¹Ç³ÀÌ µÉ °ÍÀ̰í, ¹æ¾î´Â ¾óÀ½¹æÆÐ ¼ÒȯµîÀÌ ÀÌ·ç¾îÁöµµ·Ï ±¸ÇöÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
Interface´Â ü°èÀûÀÎ ¼³°è°¡ °¡´ÉÇϵµ·Ï Çϸç, ÀÎÅÍÆäÀ̽º°¡ ¸¸µé¾îÁø ÀÌÀ¯¸¦ ¾Ë°í ÀÖ´Ù¸é, °¢ °³¹ßÀڵ鰣ÀÇ ¿øÇÒÇÑ Ä¿¹Â´ÏÄÉÀ̼ÇÀÌ °¡´ÉÇÏ°Ô ÇÑ´Ù. Àü»ç °³¹ßÀÚ¿Í ¸¶¹ý»ç °³¹ßÀÚ°¡ ´Ù¸¥ °Í¿¡ ½Å°æ½ºÁö ¾Ê°í, µ¶¸³ÀûÀ¸·Î °³¹ßÇÏ´ÉÇÑ È¯°æÀ» ¸¸µé¾îÁØ´Ù. C++ ¿¡¼ÀÇ Interface
C++Àº ¸Þ¼µå¸¦ virtual·Î ¼±¾ðÇØ¼ ±¸ÇöÇÒ ¼ö ÀÖ´Ù.
class soldier
{
public:
virtual void attack()=0;
virtual void defense()=0;
virtual void cure()=0;
};
class fighter:public soldier
{
public:
fighter(){cout << "I'm Fighter" << endl;}
void attack(){ cout << "Ä® °ø°Ý" << endl; }
void defense(){ cout << "¹æÆÐ ¸·±â" << endl;}
void cure(){ cout << "ºØ´ëÁú" << endl;}
};
class magician:public soldier
{
public:
magician(){cout << "I'm magician" << endl;}
void attack(){ cout << "¸¶¹ý °ø°Ý" << endl; }
void defense(){ cout << "¾óÀ½¹æÆÐ ½ÃÀü" << endl;}
void cure(){ cout << "Èú¸µ ¸¶¹ý ½ÃÀü" << endl;}
};
Java
ÀÚ¹Ù¿¡¼´Â interface¸¦ ÀÌ¿ëÇØ¼, ÀÎÅÍÆäÀ̽º °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù. C++ ¿¹Á¦ÀÇ Java ¹öÀüÀÌ´Ù.
interface solider {
public void attack();
public void defense();
public void cure();
}
class fighter implements solider
{
@Override
public void attack() {
}
@Override
public void cure() {
}
@Override
public void defense() {
}
}
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|