ÄÄÆÄÀÏ ÈÄ µð·ºÅ͸®¸¦ È®ÀÎÇØ º¸½Ã¸é, Person.dll ÆÄÀÏÀÌ »ý¼ºµÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¶óÀ̺귯¸® ÇüÅÂÀ̱⠶§¹®¿¡ dll ÆÄÀÏ·Î ¸¸µé¾î Áø °ÍÀ̸ç ÀÌ ¶óÀ̺귯¸®¸¦ »ç¿ëÇϱâ À§Çؼ´Â µÎ°¡Áö ÀÛ¾÷À» ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
|
¢Ã ¶óÀ̺귯¸® ÇüÅÂÀÇ ¾î¼Àºí¸®(Assembly)¸¦ »ç¿ëÇϱâ À§ÇÑ ÀýÂ÷ |
|
q Person.dlÀÇ ¹°¸®ÀûÀÎ À§Ä¡¸¦ ¸í½ÃÇÑ´Ù. q ¹°¸®ÀûÀÎ À§Ä¡°¡ ¸í½Ã µÇ¾ú´Ù¸é ÄÚµå ³»ºÎ¿¡¼ Person.dll ³»ºÎ¿¡¼ »ç¿ëÇÏ·Á°í ÇÏ´Â ³×ÀÓ½ºÆäÀ̽º¸¦ using ÇÑ´Ù. |
Person.dllÀÇ ¹°¸®ÀûÀÎ À§Ä¡¸¦ ¸í½ÃÇÏ´Â Áï, ÂüÁ¶ÇÏ´Â ¹æ¹ýÀº ÄÄÆÄÀÏ ÇÒ ¶§ÀÇ ¿É¼ÇÀ¸·Î ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ ¿¹Á¦ÀÇ ÄÄÆÄÀÏ ¸í·É¿¡¼ /referece:Person.dll À̶ó°í ÇÑ ºÎºÐÀ» ãÀ» ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. À̰ÍÀÌ ¹Ù·Î ¶óÀ̺귯¸®ÀÇ ¹°¸®ÀûÀÎ À§Ä¡¸¦ ¸í½ÃÇÑ °ÍÀÔ´Ï´Ù. ±×¸®°í Person.dll ³»ÀÇ Æ¯Á¤ Ŭ·¡½º¸¦ »ç¿ëÇϰíÀÚ ÇÑ´Ù¸é using aaa.bbb.ccc ¶ó°í ÄÚµå ³»¿¡ »ðÀÔÇϸé Person.dll ³»ÀÇ aaa.bbb.ccc ³»ÀÇ ¸ðµç Ŭ·¡½º¿Í ÀÚ¿øÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½Àº ¾Õ Àý¿¡¼ ¸¸µé¾î µÐ ¶óÀ̺귯¸® ÇüÅÂÀÇ ¾î¼Àºí¸®ÀÎ Person.dllÀ» »ç¿ëÇÏ´Â ¿¹Á¦ ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
|
& |
PersonTest.cs |
Ü namespace¸¦ Å×½ºÆ®Çϱâ À§ÇÑ ¿¹Á¦ |
|
using System; using aaa.bbb.ccc; public class PersonTest { public static void Main() { Person man = new Person(); man.age =20; man.height = 170L; man.weight = 72.5F; Console.WriteLine("age:{0}", man.age); Console.WriteLine("height:{0}", man.height); Console.WriteLine("weight:{0}", man.weight); }//main }//class | ||
|
C:\C#Example\03>csc /target:library /out:Person.dll Person.cs C:\C#Example\03>csc /reference:Person.dll /out:PersonFinal.exe PersonTest.cs C:\C#Example\03>PersonFinal age:20 height:170 weight:72.5 | ||
Person °´Ã¼¸¦ »ý¼ºÇÏ¿© age, height, weight¸¦ ÀÔ·ÂÇÑ ÈÄ, ÄܼÖâ¿¡ Â÷·Ê·Î Ãâ·ÂÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù. ÀÌ ¿¹Á¦´Â ¶óÀ̺귯¸®¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù. ¹Ù·Î using aaa.bbb.ccc ºÎºÐÀÌÁö¿ä.
»ý¼ºµÈ ¶óÀ̺귯¸®¸¦ PersonTest.cs¿¡¼ »ç¿ëÇÏ·Á¸é /reference¿¡¼ Person.dllÀ» »ç¿ëÇÑ´Ù°í ¸í½ÃÇØÁÝ´Ï´Ù. /out¿¡¼ ÄÄÆÄÀϽà »ý¼ºµÉ exe¸íÀ» ÀÔ·ÂÇÕ´Ï´Ù. ÀÔ·ÂÀÌ ³¡³ª¸é PersonTest.cs¸¦ ÄÄÆÄÀÏÀ» ÇÕ´Ï´Ù.
n csc /reference:Person.dll /out:PersonFinal.exe PersonTest.cs
ÀÌÁ¦ ¸ðµç ÀÛ¾÷ÀÌ ³¡³µ½À´Ï´Ù. ÀÌÁ¦´Â »ý¼ºµÈ PersonFinal.exe¸¦ ½ÇÇàÇØ¼ È®ÀÎ ÇØº¸¸é µË´Ï´Ù.
n PersonFinal.exe
Áö±Ý±îÁö usingÀ» ½á¼ aaa.bbb.ccc ³×ÀÓ½ºÆäÀ̽º¿¡ Àִ Ŭ·¡½º¸¦ »ç¿ëÇß½À´Ï´Ù. ¸¸ÀÏ ¡®using aaa.bbb.ccc¡¯ ¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ¡®Person man=new Person();¡¯ ºÎºÐÀ» ¡®aaa.bbb.ccc.Person man = new aaa.bbb.ccc.Person();¡¯ À¸·Î ¹Ù²ã¼ »ç¿ëÇÏ¸é µÇ°ÚÁö¿ä.
°á·ÐÀûÀ¸·Î ¶óÀ̺귯¸®¿¡ Àִ Ŭ·¡½º¸¦ »ç¿ëÇÏ·Á¸é µÎ°¡Áö ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. using¹®À» »ç¿ëÇÏ¿© ÇöÀç ÇÁ·Î±×·¥¿¡ Æ÷ÇÔÇØ ÁÖ´Â ¹æ¹ý°ú Á÷Á¢ÀûÀ¸·Î ¶óÀ̺귯¸®¸¦ ¸í½ÃÇØÁÖ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ usingÀ» »ç¿ëÇϱâ ÀÌÀü¿¡ ¹°¸®ÀûÀÎ ÂüÁ¶¸¦ ÇØ ÁÖ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ÀØÁö ¸¶½Ã±â ¹Ù¶ø´Ï´Ù.
±×·¸Áö¸¸ Á÷Á¢ÀûÀ¸·Î ¶óÀ̺귯¸®¸¦ ¸í½ÃÇØÁÖ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. usingÀ» »ç¿ëÇÏÁö ¾Ê°í ¡®³×ÀÓ½ºÆäÀ̽º¸í.Ŭ·¡½º¸í¡¯ÀÇ ÇüÅ·Π»ç¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¸é, HelloWorld.cs¿¡¼ ¡®Console.WriteLine()¡¯ ´ë½Å ¡®System.Console.WriteLine()¡¯À¸·Î »ç¿ëÇÒ ¼ö ÀÖ°ÚÁÒ. ÀÌ·¸°Ô ÇØµµ .NET ÇÁ·¹ÀÓ¿÷ Ŭ·¡½º ¶óÀ̺귯¸®¿¡ Àִ Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
|
¢Ñ System.dll ÂüÁ¶ |
using SystemÀ» »ç¿ëÇϱâ ÀÌÀü¿¡ System.dllÀ» ÂüÁ¶ÇØ¾ß ÇÏÁö ¾Ê´Â°¡¿¡ ´ëÇÑ Áú¹®À» ÇϽô ºÐÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù. System.dllÀº ¹°¸®ÀûÀÎ ÂüÁ¶¸¦ ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù. ¿Ö³ÄÇÏ¸é µðÆúÆ®·Î À̰ÍÀº ÂüÁ¶ µÇ¾î Àֱ⠶§¹®ÀÔ´Ï´Ù. C#¿¡¼ »ç¿ëÇÏ´Â ´ëºÎºÐÀÇ ±âº» Ŭ·¡½ºµéÀº ¾î¼Àºí¸® ÇüÅ·ΠµÇ¾î ÀÖÀ¸¸ç ±âº»ÀûÀ¸·Î ÂüÁ¶ µÇ¾î ÀÖ½À´Ï´Ù. À̰Ϳ¡ ´ëÇØ¼´Â ¾ÕÀ¸·Î ³ª¿Ã Àýµé¿¡¼ ¹è¿ì°Ô µÉ °ÍÀÔ´Ï´Ù. |
Âü°í·Î ¶óÀ̺귯¸®ÀÇ ³×ÀÓ½ºÆäÀ̽º¿¡ ¼ÓÇÑ ÇÏÀ§ ³×ÀÓ½ºÆäÀ̽ºµéÀÇ Å¬·¡½º¸¦ »ç¿ëÇÒ ¶§´Â ÇÏÀ§ ³×ÀÓ½ºÆäÀ̽º ¸í±îÁö ¸ðµÎ ½áÁà¾ß ±× ¾È¿¡ Àִ Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é System³×ÀÓ½ºÆäÀ̽ºÀÇ IO¶ó´Â ÇÏÀ§ ³×ÀÓ½ºÆäÀ̽º¿¡ Àִ Ŭ·¡½º¸¦ »ç¿ëÇÏ·Á¸é ¡®System.IO.Ŭ·¡½º¸í¡¯ÀÇ ÇüÅ·Π»ç¿ëÇÏ¸é µË´Ï´Ù. usingÀ» »ç¿ëÇÒ °æ¿ì´Â ¡®using System.IO¡¯°¡ µÇ°ÚÁö¿ä.
°á±¹ usingÀº C#¿¡¼ Á¦°øÇϴ Ŭ·¡½º¸¦ »ç¿ëÇÒ ¶§ ¾²´Â °ÍÀÔ´Ï´Ù. ¿©±â¿¡´Â ³×ÀÓ½ºÆäÀ̽º¸¸ ¿Ã ¼ö ÀÖÀ¸¸ç ±× ¾È¿¡ ÀÖ´Â ¸ðµç Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù. À̷νá using¿¡ ´ëÇÑ ¼³¸íÀ» ¸¶Ä¡°Ú½À´Ï´Ù. ´ÙÀ½Àº Main() ¸Þ¼µå¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦3°ÀÇ ÀúÀÚ:ÃÖ¿µ°ü |