{"id":106,"date":"2010-04-17T22:52:15","date_gmt":"2010-04-18T07:52:15","guid":{"rendered":"\/blog\/?p=106"},"modified":"2023-09-21T09:41:15","modified_gmt":"2023-09-21T00:41:15","slug":"13%ea%b0%80%ec%a7%80-%ec%a3%bc%ec%9d%98-%ec%82%ac%ed%95%ad-visual-c-net-%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%a8%ec%9d%84-visual-studio-2005%eb%a1%9c-%ec%9d%b4%ec%8b%9d%ed%95%98%ea%b8%b0-%ec%a0%84","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=106","title":{"rendered":"13\uac00\uc9c0 \uc8fc\uc758 \uc0ac\ud56d: Visual C++ .NET \ud504\ub85c\uadf8\ub7a8\uc744 Visual Studio 2005\ub85c \uc774\uc2dd\ud558\uae30 \uc804\uc5d0 \uc54c\uc544\uc57c \ud560 13\uac00\uc9c0 \ub0b4\uc6a9"},"content":{"rendered":"\n<DIV class=title><SPAN style=\"FONT-SIZE: 18pt\">13\uac00\uc9c0 \uc8fc\uc758 \uc0ac\ud56d: Visual C++ .NET \ud504\ub85c\uadf8\ub7a8\uc744 Visual Studio 2005\ub85c \uc774\uc2dd\ud558\uae30 \uc804\uc5d0 \uc54c\uc544\uc57c \ud560 13\uac00\uc9c0 \ub0b4\uc6a9<\/SPAN><!----><\/DIV><!--Content type: DocStudio. Transform: devdiv2mtps.xslt.-->\n<DIV id=mainSection>\n<DIV id=mainBody>\n<DIV>\n<P><a class=\"con_link\" href=\"mailto:slippman@microsoft.com\" target=\"_blank\" _cssquery_UID=\"72\" rel=\"noopener\"><FONT color=#0033cc>Stanley B. Lippman<\/FONT><\/A> <\/P>\n<P>Microsoft Corporation<\/P>\n<P>\uc801\uc6a9 \ub300\uc0c1:<\/P>\n<P>&nbsp; &nbsp;Microsoft Visual C++ .NET<\/P>\n<P>&nbsp; &nbsp;Microsoft Visual C++ 2005<\/P>\n<P>&nbsp; &nbsp;Microsoft Visual Studio 2005<\/P>\n<P>&nbsp; &nbsp;Microsoft Visual Studio .NET<\/P>\n<P><B>\uc694\uc57d<\/B> <B>:<\/B> \uac1c\ubc1c\uc790\uac00 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc744 Microsoft Visual Studio 2005\ub85c \uc774\uc2dd\ud560 \ub54c \uc8fc\uc758\ud574\uc57c \ud560 \ub0b4\uc6a9\uc5d0 \ub300\ud574 Stan Lippman\uc774 \uc18c\uac1c\ud569\ub2c8\ub2e4.<\/P>\n<H5>\ubaa9\ucc28<\/H5>\n<P><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#E1\" target=\"_blank\" rel=\"noopener\"><IMG style=\"CURSOR: pointer\" id=userImg6542737 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.arrow_px_down(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(6542737)\",200)'><FONT color=#0033cc> <\/FONT><\/A><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#E1\" target=\"_blank\" rel=\"noopener\"><FONT color=#0033cc>\uc18c\uac1c<\/FONT><\/A> <br \/><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#EFC\" target=\"_blank\" rel=\"noopener\"><IMG style=\"CURSOR: pointer\" id=userImg8763205 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.arrow_px_down(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(8763205)\",200)'><FONT color=#0033cc> <\/FONT><\/A><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#EFC\" target=\"_blank\" rel=\"noopener\"><FONT color=#0033cc>\uc0c8\ub85c\uc6b4 \uad6c\ubb38<\/FONT><\/A> <br \/><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#EACAC\" target=\"_blank\" rel=\"noopener\"><IMG style=\"CURSOR: pointer\" id=userImg2745997 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.arrow_px_down(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(2745997)\",200)'><FONT color=#0033cc> <\/FONT><\/A><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#EACAC\" target=\"_blank\" rel=\"noopener\"><FONT color=#0033cc>\uc758\ubbf8\uc758 \ubcc0\ud654<\/FONT><\/A> <br \/><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#EGLAC\" target=\"_blank\" rel=\"noopener\"><IMG style=\"CURSOR: pointer\" id=userImg4795104 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.arrow_px_down(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(4795104)\",200)'><FONT color=#0033cc> <\/FONT><\/A><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#EGLAC\" target=\"_blank\" _cssquery_UID=\"73\" rel=\"noopener\"><FONT color=#0033cc>V1\uacfc V2 \uac04\uc5d0 \uc815\ud655\ud788 \ub300\uc751\ud558\uc9c0\ub294 \uc54a\ub294 \ubcc0\uacbd \uc0ac\ud56d<\/FONT><\/A> <br \/><\/P>\n<H3 id=E1>\uc18c\uac1c<\/H3>\n<P>C++ \uac1c\ubc1c\uc790\ub4e4\uc740 \ub9c8\uce58 \ub3d9\uc0dd\uc774 \uc0c8\ub85c \uc0dd\uae34 \ud615\uacfc \uac19\uc740 \uae30\ubd84\uc744 \ub290\ub084 \ub54c\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc0c8\ub85c \ud0dc\uc5b4\ub09c \uc544\uae30\ub294 \ubaa8\ub450\uc758 \uc8fc\ubaa9\uc744 \ub04c\uace0, \uc11c\ub85c \uc548\uc544 \ubcf4\ub824\uace0 \ub2e4\ud234 \uc815\ub3c4\ub85c \uadc0\uc5ec\uc6c0\uc744 \ub3c5\ucc28\uc9c0\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \ud615\uc774 \ub418\uba74 \uad00\uc2ec\uc744 \ubc1b\uae30\ub294\ucee4\ub155 \uba38\ub9ac\ub97c \uc4f0\ub2e4\ub4ec\uc5b4 \uc8fc\ub294 \uc0ac\ub78c\uc774 \uc788\ub294 \uac83\ub3c4 \ub2e4\ud589\uc77c \uac83\uc785\ub2c8\ub2e4. \uc774\ub7f0 \uc0c1\ud669\uc774 \ub2e5\uce58\uba74 \uba38\ub9ac\uce74\ub77d\uc774 \ucb48\ubf1b \uc11c\uaca0\uc9c0\uc694. \uac11\uc790\uae30 \uc0ac\ub78c\ub4e4\uc758 \uad00\uc2ec\uc5d0\uc11c \uba40\uc5b4\uc9c0\uba74 \ub9c8\uc74c\uc758 \uc0c1\ucc98\ub97c \uc785\uc744 \ud14c\ub2c8\uae4c\uc694. \uc2e4\uc81c\ub85c \uae30\uc220 \ubd84\uc57c\uc5d0\uc11c\ub294 \uc774\ub7f0 \ud604\uc0c1\uc774 \ub354\uc6b1 \uc2ec\ud569\ub2c8\ub2e4. \ud56d\uc0c1 \ubcc0\ud654\uac00 \uc77c\uc5b4\ub098\ub294 \ubd84\uc57c\uc774\ubbc0\ub85c \ud750\ub984\uc5d0 \ub4a4\ucc98\uc9c0\uc9c0 \uc54a\ub294 \uac83\uc774 \uc0dd\uc874\uc758 \ube44\uacb0\uc785\ub2c8\ub2e4. <\/P>\n<P>\ubb3c\ub860 \ud604\uc7ac .NET\uc740 \uc0c8\ub85c\uc6b4 \uae30\uc220\uc785\ub2c8\ub2e4. \ubaa8\ub4e0 \uc0ac\ub78c\uc774 C#\uc5d0 \ud658\ud638\ud558\uace0 \uc788\uc744 \uc815\ub3c4\uc785\ub2c8\ub2e4. C++ \ud504\ub85c\uadf8\ub798\uba38\ub4e4\uc774 C#\uc744 \ubc30\uc6cc\uc57c \ud558\uc9c0 \uc54a\ub098 \uac71\uc815\ud558\ub294 \uac83\ub3c4 \ub2f9\uc5f0\ud55c \uc77c\uc785\ub2c8\ub2e4. \uc2e4\uc81c\ub85c .NET\uc5d0 \ub300\ud574 \uc5b8\uae09\ud560 \ub54c C++\ub97c \uc5b8\uae09\ud558\ub294 \uacbd\uc6b0\ub294 \uac70\uc758 \uc5c6\uc2b5\ub2c8\ub2e4. \uadf8\ub098\ub9c8\ub3c4 \uc0c8\ub85c\uc6b4 \uae30\uc220\uc758 \ube44\uad50 \ub300\uc0c1\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. \uae30\uc220 \ubd84\uc57c\uc5d0\uc11c \ud55c \ubc1c \ub4a4\ucc98\uc9c0\ub294 \uac83\uc740 \uc0dd\uc874 \uacbd\uc7c1\uc5d0\uc11c\uc758 \ub099\uc624\ub97c \ub73b\ud569\ub2c8\ub2e4.<\/P>\n<P>\uadf8\ub807\ub2e4\uba74 C++ \ud504\ub85c\uadf8\ub798\uba38\ub294 \uc774\uc81c \uc2dc\ub300\uc758 \ub099\uc624\uc790\uc77c\uae4c\uc694 \uc808\ub300 \uadf8\ub807\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4! \uc774 \uae30\uc0ac\uc5d0\uc11c \uc774\ubc88 Microsoft Visual Studio .NET \ub9b4\ub9ac\uc2a4\uc758 \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc5d0 \ub300\ud574 \uc18c\uac1c\ud558\uace0, \ud5a5\ud6c4 \ubc1c\ud45c\ub420 \ubcf4\ub2e4 \uc0c8\ub85c\uc6b4 \uae30\uc220\uc5d0 \ub300\ud55c \uba87 \uac00\uc9c0 \uc544\uc774\ub514\uc5b4\ub97c \uc54c\ub824 \ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4. \uc800\ud76c Visual C++ \ud300\uc6d0 \ubaa8\ub450\ub294 \uc5ec\ub7ec\ubd84\uc774 \uc774 \uae30\uc0ac\ub97c \uc77d\uace0 \uae5c\uc9dd \ub180\ub784 \uac83\uc774\ub77c \ubbff\uc2b5\ub2c8\ub2e4. <\/P>\n<P>\uc704 \ub0b4\uc6a9\uc740 Microsoft Visual Studio.NET\uc5d0 \ub300\ud55c Visual C++ \uc791\uc5c5\uc744 \uc18c\uac1c\ud558\ub294 MSDN \uae30\uc0ac\uc5d0\uc11c \uc81c\uac00 \uc791\uc131\ud55c \uae00\uc785\ub2c8\ub2e4. Microsoft Visual Studio 2005 \ubca0\ud0c0 \ub9b4\ub9ac\uc2a4\uc758 \ubc1c\ud45c\ub294 \uc704\uc5d0\uc11c \ub9d0\ud55c \uc81c \uc57d\uc18d\uc774 \uc2e4\ud604 \uac00\ub2a5\uc131\uc774 \uc788\ub294\uc9c0 \ud655\uc778\ud560 \uc218 \uc788\ub294 \uc88b\uc740 \uae30\ud68c\uc785\ub2c8\ub2e4. \uc774 \ubb38\uc81c\ub294 Visual C++ \ud504\ub85c\uadf8\ub798\uba38\uc5d0\uac8c\ub294 \uacb0\ucf54 \uadfc\uac70 \uc5c6\ub294 \uc9c8\ubb38\uc774 \uc544\ub2d9\ub2c8\ub2e4. \ub610\ud55c \uc9c0\uae08\uc740 .NET \ud658\uacbd\uc5d0\uc11c Visual C++\uc758 '\ubbf8\ub798'\uac00 \uc5b4\ub5a8\uc9c0\ub294 \uc911\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc624\ud788\ub824 \uc9c0\uae08 '\ub2f9\uc7a5'\uc758 \uc874\uc7ac \uac00\uce58\uc870\ucc28 \uc704\ud611\ubc1b\uace0 \uc788\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc6b0\ub9ac\ub294 \uc774\ub7ec\ud55c \ub0b4\uc6a9\uc744 \uae30\uc900\uc73c\ub85c \ud558\uc5ec Visual C++\uc758 CLI \ubc14\uc778\ub529\uc744 \ub2e4\uc2dc \ub514\uc790\uc778\ud588\uc2b5\ub2c8\ub2e4. <\/P>\n<P>\uc0ac\uc2e4\uc744 \ud130\ub193\uace0 \ub9d0\ud558\uc790\uba74 Visual C++\ub97c .NET\uc5d0 \ud1b5\ud569\ud558\ub294 \uc6d0\ub798 \uc791\uc5c5\uc758 \uc131\uacfc\ub294 \uadf8\ub2e4\uc9c0 \ub9cc\uc871\uc2a4\ub7fd\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. \uae30\uc874 \uae30\ubcf8 \ucf54\ub4dc\ub97c .NET \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc5d0 \ud1b5\ud569\ud558\uae30 \uc704\ud55c \ube0c\ub9ac\uc9c0\ub97c \uc81c\uacf5\ud558\uace0\uc790 \ud558\ub294 \uae30\ubcf8 \ubaa9\uc801\uc740 \uc131\uacf5\uc801\uc774\uc5c8\uc2b5\ub2c8\ub2e4. IJW(It Just Works)\ub77c \ubd88\ub9ac\ub294 \uc774 \uae30\uc220\uc740 \ub9e4\uc6b0 \ub6f0\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ubd88\ud589\ud788\ub3c4 \uc774 \uc5b8\uc5b4\uc758 \ub2e4\ub978 \uba74\uc740 \uadf8\ub2e4\uc9c0 \uc131\uacf5\uc801\uc774\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. \uac1c\uc778\uc801\uc73c\ub85c\ub294 Managed Extensions\uc5d0\uc11c \ucf54\ub4dc\ub97c \uc791\uc131\ud560 \ub54c\ubcf4\ub2e4 C# \ucf54\ub4dc\ub97c \uc791\uc131\ud558\ub294 \uac83\uc774 C++\uc640 \ub354 \ud761\uc0ac\ud558\ub2e4\uace0 \ub290\uaf08\uc2b5\ub2c8\ub2e4. \uadf8\ub798\uc11c \uadf8 \ub0b4\uc6a9\uc740 \uc218\uc815\ud574\uc57c \ud588\uc2b5\ub2c8\ub2e4.<\/P>\n<P>\uc5ec\uae30\uc11c \uc8fc\ubaa9\ud560 \ub9cc\ud55c \uae0d\uc815\uc801\uc778 \uce21\uba74\uc740 \uc5b8\uc5b4\ub97c \ub2e8\uc9c0 \uc218\uc815\ud55c \uac83\uc774 \uc544\ub2c8\ub77c \uc7ac\ucc3d\uc870\ud588\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. \uba85\ud655\ud55c \uc885\ub8cc, \uc790\ub3d9 \uba64\ubc84 \ub2e8\uc704 \ubcf5\uc0ac \ubc0f \ucd08\uae30\ud654 \uc9c0\uc6d0, \uac15\ub825\ud55c \uc5f0\uc0b0\uc790 \uc624\ubc84\ub85c\ub4dc \uc9c0\uc6d0\uc744 \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4. \ub610\ud55c STL \uc9c0\uc6d0\uc740 \ubb3c\ub860 \ud15c\ud50c\ub9bf \ubc0f CLI \uc77c\ubc18 \ub9e4\uac1c \ubcc0\uc218\ud654 \ud615\uc2dd \uba54\ucee4\ub2c8\uc998\uc5d0 \ub300\ud55c \uc9c0\uc6d0\ub3c4 \ubaa8\ub450 \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4. \uadf8\ub798\uc11c \uc774\uc81c .NET\uc5d0\uc11c \ud504\ub85c\uadf8\ub798\ubc0d\ud560 \ub54c \uc800\ub294 C++\ub97c \uac00\uc7a5 \uc120\ud638\ud569\ub2c8\ub2e4. \uc5ec\ub7ec\ubd84\ub4e4\uc5d0\uac8c\ub3c4 \uc120\ud638\ub418\ub294 \uc5b8\uc5b4\uac00 \ub418\uae30\ub97c \ubc14\ub78d\ub2c8\ub2e4. <\/P>\n<P>\ub610\ud55c, \uc8fc\ubaa9\ud560 \ub9cc\ud55c \ubd80\uc815\uc801 \uce21\uba74 \uc5ed\uc2dc \uc5b8\uc5b4\ub97c \ub2e8\uc9c0 \uc218\uc815\ud55c \uac83\uc774 \uc544\ub2c8\ub77c \uc7ac\ucc3d\uc870\ud588\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. A\uc5d0\uc11c B\ub85c \ubc14\uafb8\ub294 \uac83, \uc774\uc804 \uc5b8\uc5b4 \ubc14\uc778\ub529\uc5d0\uc11c \uc0c8 \uc5b8\uc5b4 \ubc14\uc778\ub529\uc73c\ub85c \ubc14\uafb8\ub294 \uac83\uc740 \ub9c8\uce58 \ud604\uc2e4\uc5d0\uc11c \ud658\uc0c1 \uc18d\uc73c\ub85c \ub0a0\uc544\uac00\ub294 \uac83\uacfc \ub9c8\ucc2c\uac00\uc9c0\uc785\ub2c8\ub2e4. \ub2e8\uc9c0 \uae30\uc220\uc801\uc778 \ubcc0\ud654\ubfd0 \uc544\ub2c8\ub77c \uc57d\uac04\uc758 \ub9c8\ubc95\uc774 \ud544\uc694\ud560 \uc815\ub3c4\uc785\ub2c8\ub2e4. <\/P>\n<P>\uc880 \ub354 \uc26c\uc6b4 \uc804\ud658\uc744 \uc704\ud574 \ub2e4\uc74c\uacfc \uac19\uc740 \uc138 \uac00\uc9c0 \uae30\ubcf8 \uc601\uc5ed\uc5d0\uc11c \uc791\uc5c5\uc744 \uc9c4\ud589\ud588\uc2b5\ub2c8\ub2e4. <\/P>\n<UL>\n<LI>\n<P>\ucef4\ud30c\uc77c\ub7ec\ub294 \ud2b9\uc218 \uc2a4\uc704\uce58(<B>\\clr:old_syntax<\/B>)\ub97c \ud1b5\ud574 \uc6d0\ub798 \uad6c\ubb38\uc744 \uacc4\uc18d \ubc1b\uc544\ub4e4\uc785\ub2c8\ub2e4. <\/P>\n<LI>\n<P>\ud604\uc7ac\ub294 \uc791\uc5c5 \ub2a5\ub960\uc774 \uc57d 80% \uc815\ub3c4\uc778 \ube44\uacf5\uc2dd \ubcc0\ud658 \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ub450 \ubc88\uc9f8 \ubca0\ud0c0\uac00 \ubc1c\ud45c\ub420 \ub54c\ucbe4\uc774\uba74 \uc774 \ub3c4\uad6c\ub97c \ud14c\uc2a4\ud2b8\ud560 \uc218 \uc788\uc744 \uac83\uc73c\ub85c \uc608\uc0c1\ud569\ub2c8\ub2e4. <\/P>\n<LI>\n<P>\uc6b0\ub9ac\uac00 \uc81c\uacf5\ud558\uace0 \uc788\ub294 \uc774 \ubb38\uc11c\uc640 \ub3d9\ubd09 \ubcc0\ud658 \uac00\uc774\ub4dc, \uadf8\ub9ac\uace0 <a id=\"ctl00_rs1_mainContentContainer_ctl01\" class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/library\/en-us\/dnvs05\/html\/TransGuide.asp\" target=\"_blank\" rel=\"noopener\"><FONT color=#0033cc>Moving Your Programs from Managed Extensions for C++ to C++\/CLI<\/FONT><\/A><FONT color=#0033cc><IMG style=\"CURSOR: pointer\" id=userImg8670425 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.tous(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(8670425)\",200)'><\/FONT> \uc5d0\ub294 \uac01 \uc5b8\uc5b4\uc758 \ubcc0\uacbd \ub0b4\uc6a9 \ubaa9\ub85d\uc774 \uc6d0\ub798 \ucf54\ub4dc \ubc0f \uc218\uc815\ub41c \ucf54\ub4dc \uc2a4\ub2c8\ud3ab\uacfc \ub354\ubd88\uc5b4 \uc790\uc138\ud558\uac8c \uc18c\uac1c\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uac01 \uc5b8\uc5b4\ub97c \ubcc0\uacbd\ud55c \uc774\uc720\uc5d0 \ub300\ud55c \ub0b4\uc6a9\ub3c4 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. <\/P><\/LI><\/UL>\n<P>\uc774 \uae30\uc0ac\ub294 \uac1c\ubc1c\uc790\ub97c \uc704\ud574 \uc694\uc57d\ub41c \ub0b4\uc6a9\uc774\uba70, \uc548\uc804\ud558\uace0 \uc6d0\ud65c\ud55c \uc774\uc2dd\uc744 \uc704\ud574 \uace0\ub824\ud574\uc57c \ud560 13\uac00\uc9c0 \ubb38\uc81c\ub97c \uc9d1\uc911\uc801\uc73c\ub85c \ub2e4\ub8e8\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ucc28\uc774\uc810\uc744 \uc27d\uac8c \ud655\uc778\ud560 \uc218 \uc788\ub3c4\ub85d \ubd80\ub85d\uc5d0 \ubb38\uc81c\uc810\uc774 \ud45c \ud615\uc2dd\uc73c\ub85c \ub098\uc5f4\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. <\/P>\n<P>CLI\uc5d0 \ub300\ud55c \uc6d0\ub798 \uc5b8\uc5b4 \ubc14\uc778\ub529\uc758 \uc774\ub984\uc740 Managed Extensions to C++\uc785\ub2c8\ub2e4. \uc218\uc815\ub41c \uc5b8\uc5b4 \ubc14\uc778\ub529\uc740 C++\/CLI\ub77c\uace0 \ud558\uba70, \uc774 \ubc14\uc778\ub529\uc5d0 \ub300\ud55c ECMA \ud45c\uc900\ub3c4 \ud604\uc7ac \uac1c\ubc1c \uc911\uc785\ub2c8\ub2e4. \ud3b8\uc758\ub97c \uc704\ud574 \uc774 \uae30\uc0ac\uc5d0\uc11c\ub294 \uc6d0\ub798 \ubc14\uc778\ub529\uc744 V1\uc774\ub77c\uace0 \ud558\uace0 \uc218\uc815\ub41c \ubc14\uc778\ub529\uc744 V2\ub77c\uace0 \ud558\uaca0\uc2b5\ub2c8\ub2e4. <\/P>\n<P>\ub2e4\uc74c\uacfc \uac19\uc740 \uc77c\ubc18 \ubc94\uc8fc\uc5d0\uc11c \uc5b8\uc5b4\ub97c \uc218\uc815\ud588\uc2b5\ub2c8\ub2e4. <\/P>\n<OL>\n<LI>\n<P>\uad6c\ubb38. \ubcf4\ub2e4 \uc218\uc900 \ub192\uace0 \uc7ac\ubbf8\uc788\ub294 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc704\ud574 CLI \ud615\uc2dd\uc744 \uc815\uc758 \ubc0f \uc870\uc815\ud558\ub294 \ubc29\ubc95\uc744 \ubcc0\uacbd\ud588\uc2b5\ub2c8\ub2e4. \uc774\ub294 \ud2b9\ud788 CLI \ubc30\uc5f4\uacfc \uc2a4\uce7c\ub77c \ubc0f \uc778\ub371\uc2a4 \uc18d\uc131\uc758 \uc0ac\uc591\uc5d0\uc11c \uadf8\ub7ec\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ubcc0\ud654\ub294 \ud3ec\uad04\uc801\uc778 \uac83\uc774\uc9c0\ub9cc, \uae30\uacc4 \ubd84\uc57c\uc5d0 \ud3ed\ub113\uac8c \uc801\uc6a9\ub41c \uac83\uc774\ub77c\uace0 \ubcfc \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. <\/P>\n<LI>\n<P>CLI \uc900\uc218. CLI \uac1c\uccb4 \ubaa8\ub378\uc740 C++ \ubaa8\ub378\uacfc\ub294 \uba87 \uac00\uc9c0 \uba74\uc5d0\uc11c \ud06c\uac8c \ub2e4\ub985\ub2c8\ub2e4. V1 \ubc14\uc778\ub529\uc740 \ubb38\uc790\uc5f4 \ub9ac\ud130\ub7f4 \ucc98\ub9ac, CLI \uc5f4\uac70\ud615 \ucc98\ub9ac, \uac12 \ud615\uc2dd \uc815\uc758 \ub4f1\uc758 \uc791\uc5c5\uc5d0\uc11c \uac04\ud639 \uc815\uc0c1\uc801\uc73c\ub85c \uc218\ud589\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0\uac00 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \uc774 \ubcc0\ud654\ub97c \ud1b5\ud574 \ub3d9\uc801 \ud504\ub85c\uadf8\ub798\ubc0d \ubaa8\ub378\uc758 \ucda9\uc2e4\ub3c4\ub97c \ub192\uc77c \uc218 \uc788\uc744 \uac83\uc73c\ub85c \ud655\uc2e0\ud569\ub2c8\ub2e4. \ubd88\ud589\ud788\ub3c4 V1\uc5d0\uc11c V2\ub85c\uc758 \uae30\uacc4\uc801\uc778 \ubcc0\ud658\uc774 \ubd88\uac00\ub2a5\ud55c \uacbd\uc6b0\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uac12 \ud615\uc2dd\uc740 \ub354 \uc774\uc0c1 \uae30\ubcf8 \uc0dd\uc131\uc790\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc73c\uba70(\uc774 \uae30\uc0ac\uc758 10\ubc88 \ud56d\ubaa9), CLI \uc5f4\uac70\ud615\uc744 \ub354 \uc774\uc0c1 \uc804\ubc29 \uc120\uc5b8\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4(\uc774 \uae30\uc0ac\uc758 7\ubc88 \ud56d\ubaa9). <\/P>\n<LI>\n<P>CLI \ud5a5\uc0c1. C++ \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0\uc11c\ub294 \ubcf5\uc0ac \uc0dd\uc131 \uc9c0\uc6d0 \uae30\ub2a5\uc774 \uc5c6\uace0 \ucc38\uc870 \ud615\uc2dd\uc5d0\uc11c \uc18c\uba78\uc790\uac00 \uc790\ub3d9\uc73c\ub85c \ud638\ucd9c\ub418\ubbc0\ub85c \uc791\uc5c5\uc774 \uae4c\ub2e4\ub85c\uc6b8 \ubfd0 \uc544\ub2c8\ub77c \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uae30\ub3c4 \uc27d\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc694\uc18c\ub294 \ud504\ub85c\uadf8\ub7a8\uc758 \ubb34\uacb0\uc131\uc744 \ud5a5\uc0c1\uc2dc\ud0a4\ub294 \uac1c\uccb4 \uad00\ub9ac\uc758 \uc720\uc6a9\ud55c \ud328\ud134\uc744 \ubcf4\uc5ec \uc90d\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud328\ud134\uacfc ISO-C++\uc758 \uae30\ud0c0 \ub514\uc790\uc778 \ud328\ud134\uc774 V2\uc758 CLI \ubc14\uc778\ub529\uc5d0 \ud1b5\ud569\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \uae0d\uc815\uc801\uc778 \uce21\uba74\ub3c4 \uc788\ub294 \ubc18\uba74 \ubd80\uc815\uc801\uc778 \uce21\uba74\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc989, V1\uc5d0\uc11c V2\ub85c\uc758 \uae30\uacc4\uc801\uc778 \ubcc0\ud658\uc774 \ubd88\uac00\ub2a5\ud55c \uacbd\uc6b0\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uba85\ud655\ud55c \uc885\ub8cc\uac00 \uc9c0\uc6d0\ub428\uc73c\ub85c\uc368 V1\uacfc V2 \uac04\uc5d0 \ud074\ub798\uc2a4 \uc18c\uba78\uc790\uc758 \uc758\ubbf8\uac00 \ub2ec\ub77c\uc84c\uc73c\uba70(\uc774 \uae30\uc0ac\uc758 6\ubc88 \ud56d\ubaa9), \uc778\ud130\ud398\uc774\uc2a4 \uba64\ubc84\uc758 \uba85\uc2dc\uc801\uc778 \uc7ac\uc815\uc758\ub294 \uc774\uc81c \uac00\uc0c1 \ud568\uc218 \uc7ac\uc815\uc758 \uba54\ucee4\ub2c8\uc998\uc5d0 \ud1b5\ud569\ub418\uc5c8\uc2b5\ub2c8\ub2e4(\uc774 \uae30\uc0ac\uc758 12\ubc88 \ud56d\ubaa9). <\/P><\/LI><\/OL>\n<DIV><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#mainSection\" target=\"_blank\" rel=\"noopener\"><IMG style=\"CURSOR: pointer\" id=userImg3729824 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.arrow_px_up(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(3729824)\",200)'><FONT color=#0033cc> <\/FONT><\/A><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#mainSection\" target=\"_blank\" rel=\"noopener\"><FONT color=#0033cc>\ud654\uba74 \ub9e8 \uc704\ub85c<\/FONT><\/A> <br \/><\/DIV>\n<H3 id=EFC>\uc0c8\ub85c\uc6b4 \uad6c\ubb38<\/H3>\n<P>\uc0ac\uc6a9\uc790\ub4e4\uc740 \ubd88\ud3c9\uc744 \ud560 \ub54c\ub97c \uc81c\uc678\ud558\uace0\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\uc758 \uad6c\ubb38\uc5d0 \ub300\ud574 \uc2e0\uacbd\uc870\ucc28 \uc4f0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0 \uac1c\ubc1c\uc790\uac00 \ud560 \uc218 \uc788\ub294 \uc77c\uc774\ub77c\uace0\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\uac00 \uc0ac\uc6a9\uc790\uc5d0\uac8c \ud63c\ub3d9\uc744 \uc77c\uc73c\ud0a4\uc9c0 \uc54a\ub3c4\ub85d, \uadf8\ub9ac\uace0 \uc0ac\uc6a9\uc790\uac00 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud504\ub85c\uadf8\ub7a8\uc744 \uad6c\ud604\ud558\uace0 \ubc30\ud3ec\ud558\ub294 \ub370 \ub108\ubb34 \ub9ce\uc740 \uc2dc\uac04\uc744 \uc18c\ube44\ud558\uc9c0 \uc54a\ub3c4\ub85d \uc870\uae08\uc774\ub77c\ub3c4 \ub354 \uc27d\uac8c \uc791\uc131\ud558\ub294 \uac83\ubfd0\uc785\ub2c8\ub2e4. \uc5b8\uc5b4 \uad6c\ubb38\uc5d0\uc11c \ubcc0\uba85\uc758 \uc5ec\uc9c0\uac00 \uc5c6\ub294 \uac00\uc7a5 \ud070 \ubb38\uc81c\ub294 \ud504\ub85c\uadf8\ub798\uba38\uc870\ucc28\ub3c4 \ud504\ub85c\uadf8\ub7a8\uc758 \uc758\ubbf8\uac00 \ubb34\uc5c7\uc778\uc9c0 \ud655\uc2e0\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. \uc774\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc758 \ud488\uc9c8\uc740 \ubb3c\ub860 \ud504\ub85c\uadf8\ub798\uba38\ub85c\uc11c\uc758 \uc790\uaca9\uae4c\uc9c0 \uc758\uc2ec\ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0c8\ub85c\uc6b4 \uc5b8\uc5b4 \ubc14\uc778\ub529\uc740 \ubcf5\uc7a1\ud55c \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc5f4\uc2ec\ud788 \uac1c\ubc1c\ud560 \uc218 \uc788\ub294 \uc880 \ub354 \ub098\uc740 \ud658\uacbd\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. .NET\uc744 \uc0ac\uc6a9\ud558\uc5ec \uac1c\ubc1c \uc911\uc778 Visual C++ \ud504\ub85c\uadf8\ub798\uba38\ub77c\uba74 \uc5b8\uc5b4\uac00 \ud06c\uac8c \ud5a5\uc0c1\ub418\uc5c8\ub2e4\ub294 \uac83\uc5d0 \ub3d9\uc758\ud558\ub9ac\ub77c \ubbff\uc2b5\ub2c8\ub2e4.<\/P>\n<H4>1. \ubb38\ub9e5 \ud0a4\uc6cc\ub4dc\ub85c __(\uc774\uc911 \ubc11\uc904) \ub300\uccb4<\/H4>\n<P>\uc774\uc911 \ubc11\uc904(__)\uc774 \uc5c6\uc5b4\uc84c\ub2e4\ub294 \uac83\uc774 \uac00\uc7a5 \ud06c\uac8c \ub4dc\ub7ec\ub098\ub294 \ucc28\uc774\uc810\uc785\ub2c8\ub2e4. V1\uc5d0\uc11c \uc774\uc911 \ubc11\uc904\uc774 \uc0ac\uc6a9\ub41c \uc774\uc720\ub294 \ud06c\uac8c \ub450 \uac00\uc9c0\uc600\uc2b5\ub2c8\ub2e4. \uc989, (a) \uc5b8\uc5b4 \ud655\uc7a5\uc744 \uc124\uc815\ud558\ub294 ISO \uc815\ucc45\uc744 \uc900\uc218\ud558\uace0, (b) \uc0c8 \ud0a4\uc6cc\ub4dc\ub97c \uc0ac\uc6a9\ud560 \ub54c\uc758 \ud63c\ub780 \ubc29\uc9c0 \uc804\ub7b5\uc744 \uc81c\uacf5\ud558\uae30 \uc704\ud568\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \ud569\ub2f9\ud558\uace0 \ud569\ub9ac\uc801\uc778 \ub3d9\uae30\ub77c \ud560 \uc218 \uc788\uc5c8\uc8e0. V2\uc5d0\uc11c \uc774\uc911 \ubc11\uc904\uc774 \uc5c6\uc5b4\uc9c4 \uc774\uc720\ub294 \uc774\ub85c \uc778\ud574 \uad6c\ubb38\uc774 \uc9c0\uc800\ubd84\ud574\uc838\uc11c \ubcf5\uc7a1\ud558\uace0 \ud55c \ub208\uc5d0 \ubcf4\uae30 \uc5b4\ub824\uc6e0\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. (b)\uc5d0 \ub300\ud55c V2\uc758 \ud574\uacb0\ucc45\uc740 \ubb38\ub9e5 \ud0a4\uc6cc\ub4dc\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. (a)\uc5d0 \ub300\ud55c \ud574\uacb0\ucc45\uc740 \uc880 \ub354 \uae4c\ub2e4\ub85c\uc6b0\uba70 \uc804\uccb4 \ubcc0\ud658 \uac00\uc774\ub4dc\uc5d0\uc11c \uc218\ud589\ub429\ub2c8\ub2e4. <\/P>\n<P>\ubb38\ub9e5 \ud0a4\uc6cc\ub4dc\ub294 \ud2b9\uc815 \ud504\ub85c\uadf8\ub7a8 \ucee8\ud14d\uc2a4\ud2b8\uc5d0\uc11c \ud2b9\uc218\ud55c \uc758\ubbf8\ub97c \uac00\uc9d1\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uc77c\ubc18 \ud504\ub85c\uadf8\ub7a8 \ub0b4\uc5d0\uc11c <B>sealed<\/B>\ub294 \uc77c\ubc18 \uc2dd\ubcc4\uc790\ub85c \ucde8\uae09\ub429\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uad00\ub9ac\ub418\ub294 \ucc38\uc870 \ud074\ub798\uc2a4 \uc720\ud615\uc758 \uc120\uc5b8 \ubd80\ubd84\uc5d0 \uc788\uc744 \uacbd\uc6b0\uc5d0\ub294 \ud574\ub2f9 \ud074\ub798\uc2a4 \uc120\uc5b8\uc758 \ucee8\ud14d\uc2a4\ud2b8\uc5d0\uc11c \ud0a4\uc6cc\ub4dc\ub85c \ucde8\uae09\ub429\ub2c8\ub2e4. \uadf8\ub7ec\ubbc0\ub85c \uc5b8\uc5b4\uc5d0\uc11c \uc0c8 \ud0a4\uc6cc\ub4dc\ub97c \uc0ac\uc6a9\ud560 \ub54c \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \ud63c\ub780\uc774 \ucd5c\uc18c\ud654\ub429\ub2c8\ub2e4. \uc774\ub294 \uae30\uc874 \ucf54\ub4dc \uae30\ubc18 \uc0ac\uc6a9\uc790\uc5d0\uac8c\ub294 \ub9e4\uc6b0 \uc911\uc694\ud55c \uc694\uc18c\uc785\ub2c8\ub2e4. \ub610\ud55c \uc774 \uc0c8 \uae30\ub2a5\uc758 \uc0ac\uc6a9\uc790\ub294 \ucd5c\uace0\uc758 \ucd94\uac00 \uc5b8\uc5b4 \uae30\ub2a5\uc744 \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ucd94\uac00 \uae30\ub2a5\uc740 \uc6d0\ub798 \uc5b8\uc5b4 \ub514\uc790\uc778\uc5d0\uc11c \ubd80\uc871\ud558\ub2e4\uace0 \uc0dd\uac01\ub418\uc5b4 \uc774\ubc88\uc5d0 \ubcf4\uac15\ud55c \uac83\uc785\ub2c8\ub2e4.<\/P>\n<P>\ud45c 1.1\uc5d0\ub294 CLI \ud615\uc2dd\uc744 \uc120\uc5b8\ud558\ub294 \uad6c\ubb38\uc758 \ubcc0\uacbd \uc0ac\ud56d \ubaa9\ub85d\uc774 \uc788\uc2b5\ub2c8\ub2e4. <\/P>\n<H5>\ud45c 1.1 CLI \ud615\uc2dd \uad6c\ubb38 \ubcc0\uacbd \uc0ac\ud56d<\/H5>\n<TABLE>\n<TBODY>\n<TR>\n<TH>\n<P>CLI \ud615\uc2dd<\/P><\/TH>\n<TH>\n<P>Managed Extension <\/P><\/TH>\n<TH>\n<P>C++\/CLI<\/P><\/TH><\/TR>\n<TR>\n<TD>\n<P>\ucc38\uc870 \ud074\ub798\uc2a4<\/P><\/TD>\n<TD>\n<P><B>__gc class R<\/B> <\/P><\/TD>\n<TD>\n<P><B>ref class R<\/B> <\/P><\/TD><\/TR>\n<TR>\n<TD>\n<P>\uac12 \ud074\ub798\uc2a4<\/P><\/TD>\n<TD>\n<P><B>__value class V<\/B> <\/P><\/TD>\n<TD>\n<P><B>value class V<\/B> <\/P><\/TD><\/TR>\n<TR>\n<TD>\n<P>\ucd94\uc0c1 \ud074\ub798\uc2a4<\/P><\/TD>\n<TD>\n<P><B>__gc __abstract class R<\/B> <\/P><\/TD>\n<TD>\n<P><B>ref class R abstract<\/B> <\/P><\/TD><\/TR>\n<TR>\n<TD>\n<P>\ubd09\uc778 \ud074\ub798\uc2a4<\/P><\/TD>\n<TD>\n<P><B>__gc __sealed class R<\/B> <\/P><\/TD>\n<TD>\n<P><B>ref class R sealed<\/B> <\/P><\/TD><\/TR>\n<TR>\n<TD>\n<P>\uc778\ud130\ud398\uc774\uc2a4 \ud074\ub798\uc2a4<\/P><\/TD>\n<TD>\n<P><B>__gc __interface IBar<\/B> <\/P><\/TD>\n<TD>\n<P><B>interface class IBar<\/B> <\/P><\/TD><\/TR>\n<TR>\n<TD>\n<P>CLI \uc5f4\uac70\ud615<\/P><\/TD>\n<TD>\n<P><B>__value enum E<\/B> <\/P><\/TD>\n<TD>\n<P><B>enum class E<\/B> <\/P><\/TD><\/TR>\n<TR>\n<TD>\n<P>\ub300\ub9ac\uc790 \ud615\uc2dd<\/P><\/TD>\n<TD>\n<P><B>__delegate void CallBack()<\/B> <\/P><\/TD>\n<TD>\n<P><B>delegate void CallBack()<\/B> <\/P><\/TD><\/TR><\/TBODY><\/TABLE>\n<H4>2. \ucd94\uc801 \ud578\ub4e4(^)\ub85c \ud3ec\uc778\ud130(*) \ub300\uccb4<\/H4>\n<P>V1\uc5d0\uc11c\ub294 \ud3ec\uc778\ud130 \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\uc5ec \ucc38\uc870 \ud615\uc2dd\uc758 \uac1c\uccb4\ub97c \uc120\uc5b8\ud569\ub2c8\ub2e4. \uc218\uc815\ub41c \uc5b8\uc5b4 \ub514\uc790\uc778\uc5d0\uc11c\ub294 \uacf5\uc2dd\uc801\uc778 \uc774\ub984\uc740 \ucd94\uc801 \ud578\ub4e4\uc774\uba70 \ube44\uacf5\uc2dd\uc801\uc73c\ub85c\ub294 \ud587(hat)\uc774\ub77c\uace0 \ud558\ub294 \uc0c8\ub85c\uc6b4 \uc120\uc5b8 \ud1a0\ud070(^)\uc744 \uc0ac\uc6a9\ud558\uc5ec \ucc38\uc870 \ud074\ub798\uc2a4 \ud615\uc2dd \uac1c\uccb4\ub97c \uc120\uc5b8\ud569\ub2c8\ub2e4. '\ucd94\uc801'\uc774\ub780, \ucc38\uc870 \ud615\uc2dd\uc774 CLI \ud799 \ub0b4\uc5d0 \ubc30\uce58\ub418\ubbc0\ub85c \uac00\ube44\uc9c0 \uc218\uc9d1 \ud799 \uc555\ucd95 \uc911\uc5d0 \ud574\ub2f9 \uc704\uce58\ub97c \uc190\uc27d\uac8c \uc774\ub3d9\ud560 \uc218 \uc788\ub2e4\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4. \ucd94\uc801 \ud578\ub4e4\uc740 \ub7f0\ud0c0\uc784 \ub3d9\uc548 \uc27d\uac8c \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. (a)\ucd94\uc801 \ucc38\uc870(<B>%<\/B>) \ubc0f (b)\ub0b4\ubd80 \ud3ec\uc778\ud130(<B>interior_ptr&lt;&gt;<\/B>)\ub294 \uc11c\ub85c \uc720\uc0ac\ud55c \uac1c\ub150\uc785\ub2c8\ub2e4. \uc774 \ubcc0\uacbd \ub0b4\uc6a9\uc5d0 \ub300\ud574\uc11c\ub294 \uc8fc \ubb38\uc11c\ub97c \ucc38\uace0\ud558\uc2ed\uc2dc\uc624. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ CLI \ucc38\uc870 \ud615\uc2dd\uc758 V1 \uc120\uc5b8\nString * ps = S\"a string literal\";\n \n\/\/ CLI \ucc38\uc870 \ud615\uc2dd\uc758 V2 \uc120\uc5b8\nString ^ ps = \"a string literal\";(\ucc38\uace0: \ud504\ub85c\uadf8\ub798\uba38 \ucf54\uba58\ud2b8\ub294 \uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8 \ud30c\uc77c\uc5d0\ub294 \uc601\ubb38\uc73c\ub85c \uc81c\uacf5\ub418\uba70 \uae30\uc0ac\uc5d0\ub294 \uc124\uba85\uc744 \uc704\ud574 \ubc88\uc5ed\ubb38\uc73c\ub85c \uc81c\uacf5\ub429\ub2c8\ub2e4.)<\/PRE>\n<P><B>System::String<\/B> \uc720\ub2c8\ucf54\ub4dc \ud45c\uc2dc\ub85c \uc218\uc900\uc774 \uc62c\ub77c\uac00\ub294 \ubb38\uc790\uc5f4 \ub9ac\ud130\ub7f4\uc758 \ucc98\ub9ac\ub3c4 \uc815\ub9ac\ud588\uc2b5\ub2c8\ub2e4. \uc774 \uc608\uc81c\uc5d0\uc11c \ud504\ub85c\uadf8\ub798\uba38\ub294 \ub354 \uc774\uc0c1 \ubb38\uc790\uc5f4 \ub9ac\ud130\ub7f4\uc774 System \ub9ac\ud130\ub7f4\uc774 \ub418\ub3c4\ub85d \uc9c1\uc811 \ud655\uc778\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.<\/P>\n<P>\ub530\ub77c\uc11c CLI \ud799\uc5d0 \ubc30\uce58\ud55c \ucc38\uc870 \ud615\uc2dd\uacfc \uac12 \ud615\uc2dd \ubaa8\ub450\ub97c \ud1b5\ud574 \ub2e8\uc77c \uad6c\ubb38\uc744 \uc81c\uacf5\ud560 \uc218 \uc788\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. C# \ubc0f Microsoft Visual Basic .NET\uc5d0\uc11c\uc640\ub294 \ub2ec\ub9ac, CLI\uc5d0 \ub300\ud55c C++ \ubc14\uc778\ub529\uc73c\ub85c \uc778\ud574 \ud504\ub85c\uadf8\ub798\uba38\ub294 \uac12 \ud615\uc2dd\uc758 boxed \uc778\uc2a4\ud134\uc2a4\ub97c \uc9c1\uc811 \uc870\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \ud6e8\uc52c \ud6a8\uc728\uc801\uc778 \ubc29\ubc95\uc785\ub2c8\ub2e4. \ub2e4\uc74c\uc740 V1\uacfc V2\uc5d0\uc11c \uc791\uc5c5\uc774 \ucc98\ub9ac\ub418\ub294 \ubc29\uc2dd\uc785\ub2c8\ub2e4.<\/P><PRE>double result = 3.14159;\n\/\/ V1 \uad6c\ubb38\n__box double * br = __box( result );\n \n\/\/ V2 \uad6c\ubb38\ndouble^ br = result;<\/PRE>\n<P>\ud3ec\uc778\ud130 \uad6c\ubb38\uc758 \uc0ac\uc6a9\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \ub450 \uac00\uc9c0 \uc8fc\uc694 \uc601\uc5ed\uc5d0\uc11c \ubb38\uc81c\uac00 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \ubcc0\uacbd \uc774\uc720\uc5d0 \ub300\ud55c \uc880 \ub354 \uc790\uc138\ud55c \uc124\uba85\uc740 \ud568\uaed8 \uc81c\uacf5\ub418\ub294 \ubcc0\ud658 \uac00\uc774\ub4dc\uc5d0\uc11c \ucc3e\uc544\ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/P>\n<OL>\n<LI>\n<P>\ud3ec\uc778\ud130 \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \uc624\ubc84\ub85c\ub4dc\ub41c \uc5f0\uc0b0\uc790\ub97c \ucc38\uc870 \uac1c\uccb4\uc5d0 \uc9c1\uc811 \uc801\uc6a9\ud560 \uc218 \uc5c6\uc5c8\uc2b5\ub2c8\ub2e4. \ubcf4\ub2e4 \uc9c1\uad00\uc801\uc778 <B>r1+r2<\/B> \ub300\uc2e0 <B>r1-&gt;op_Addition(r2)<\/B> \uac19\uc740 \ub0b4\ubd80 \uc774\ub984\uc744 \ud1b5\ud574 \uc5f0\uc0b0\uc790\ub97c \ud638\ucd9c\ud574\uc57c \ud588\uc2b5\ub2c8\ub2e4. <\/P>\n<LI>\n<P>\uce90\uc2a4\ud305 \ubc0f \ud3ec\uc778\ud130 \uc0b0\uc220 \ub4f1\uacfc \uac19\uc774 \uac00\ube44\uc9c0 \uc218\uc9d1\ub41c \ud799\uc5d0 \uc800\uc7a5\ub41c \uac1c\uccb4\uc5d0\ub294 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\ub294 \ud3ec\uc778\ud130 \uc5f0\uc0b0\uc774 \ub2e4\uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub85c \uc778\ud574 \uc0ac\uc6a9\uc790\ub4e4\uc774 \ud63c\ub780\uc2a4\ub7ec\uc6cc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubcc4\ub3c4\uc758 \ud1a0\ud070\uc744 \ud1b5\ud574 CLI \ucc38\uc870 \ud615\uc2dd\uc744 \ubcf4\ub2e4 \uc798 \uc774\ud574\ud560 \uc218 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4. <\/P><\/LI><\/OL>\n<P>\uad6c\ubb38\uc774 <B>R*<\/B>\uc5d0\uc11c <B>R^<\/B>\ub85c \ubcc0\uacbd\ub428\uc5d0 \ub530\ub77c \ub450 \uac00\uc9c0 \uc0ac\ud56d\uc774 \ubd80\uc218\uc801\uc73c\ub85c \ubc14\ub00c\uc5c8\uc2b5\ub2c8\ub2e4. \uc989, \uc5f0\uc0b0\uc790 <B>new<\/B>\uac00 CLI \uace0\uc720\uc758 \ud799 \uc5f0\uc0b0\uc790\ub85c \ub300\uccb4\ub418\uc5c8\uace0 null \ucd94\uc801 \ud578\ub4e4\uc744 \ub098\ud0c0\ub0b4\ub294 \ud2b9\uc218 \ud1a0\ud070\uc744 \uc0ac\uc6a9\ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. <\/P>\n<OL>\n<LI>\n<P>\uc0c8 CLI \ud799 \ud560\ub2f9 \uc5f0\uc0b0\uc790\ub294 <B>gcnew<\/B>\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V1 \uad6c\ubb38\nStreamReader *ifile = new StreamReader( fileName );\nNativeClass * pnc = new NativeClass( args );\n \n\/\/ V2 \uad6c\ubb38\nStreamReader ^ifile = gcnew StreamReader( file );\nNativeClass * pnc = new NativeClass( args );<\/PRE>\n<LI>\n<P>V1\uc5d0\uc11c\ub294 \uc544\ubb34\ub7f0 \uac1c\uccb4\ub3c4 \ucc98\ub9ac\ud558\uc9c0 \uc54a\ub294 \ucc38\uc870 \ud615\uc2dd\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.<\/P><PRE>\/\/ V1: \ud655\uc778... obj\uac00 \ub2e4\ub978 \uac1c\uccb4\ub97c \ucc38\uc870\ud558\uc9c0 \uc54a\ub3c4\ub85d \uc124\uc815\nObject * obj = 0;\n\/\/ V1: \uc624\ub958... \uba85\uc2dc\uc801\uc778 boxing \uc5c6\uc74c\nObject * obj2 = 1;<\/PRE>\n<P>V2\uc5d0\uc11c\ub294 \uac12 \ud615\uc2dd\uc744 <B>Object<\/B>\ub85c \ucd08\uae30\ud654\ud558\uac70\ub098 \ud560\ub2f9\ud558\uba74 \ud574\ub2f9 \uac12 \ud615\uc2dd\uc5d0 \ub300\ud55c \uc554\uc2dc\uc801\uc778 boxing\uc774 \ubc1c\uc0dd\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c V2\uc5d0\uc11c\ub294 <B>obj<\/B> \ubc0f <B>obj2<\/B> \ub458 \ub2e4 \uac01\uac01 <B>0<\/B> \ubc0f <B>1<\/B>\uc774\ub77c\ub294 \uac12\uc744 \ubcf4\uc720\ud558\ub294 \ucc98\ub9ac\ub41c boxed <B>Int32<\/B> \uac1c\uccb4\ub85c \ucd08\uae30\ud654\ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V2: \ud655\uc778... 0 \ubc0f 1\uc5d0 \ub300\ud574 \ubaa8\ub450 \uc554\uc2dc\uc801\uc778 boxing \ubd80\uc5ec\n\/\/ &nbsp; &nbsp;\uadf8\ub7ec\ub098 obj\uc5d0\ub294 \ubd80\uc5ec\ud558\uc9c0 \uc54a\uc74c!\nObject ^ obj = 0;\nObject ^ obj2 = 1;<\/PRE>\n<P>\ub530\ub77c\uc11c \ucd94\uc801 \ud578\ub4e4\uc758 \uba85\uc2dc\uc801\uc778 \ucd08\uae30\ud654, \ud560\ub2f9 \ubc0f \ube44\uad50\uc5d0\uc11c \uc544\ubb34\ub7f0 \uac1c\uccb4\ub3c4 \ucc38\uc870\ud558\uc9c0 \uc54a\ub3c4\ub85d \ud558\uae30 \uc704\ud574 <B>nullptr<\/B>\uc774\ub77c\ub294 \uc0c8 \ud0a4\uc6cc\ub4dc\ub97c \ub3c4\uc785\ud588\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uac01\uac01\uc758 <B>0<\/B> \uc778\uc2a4\ud134\uc2a4\ub97c \ub300\uccb4\ud558\uac8c \ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c <B>V1<\/B> \uc608\uc81c\uac00 \uc62c\ubc14\ub974\uac8c \uc218\uc815\ub41c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <\/P><PRE>\/\/ V2: \ud655\uc778... obj\uac00 \ub2e4\ub978 \uac1c\uccb4\ub97c \ucc38\uc870\ud558\uc9c0 \uc54a\ub3c4\ub85d \uc124\uc815\nObject ^ obj = nullptr;\n \n\/\/ V2: \ud655\uc778... obj2\ub97c Int32^\ub85c \ucd08\uae30\ud654\nObject ^ obj2 = 1;<\/PRE><\/LI><\/OL>\n<H4>3. CLI \ubc30\uc5f4 \uad6c\ubb38\uc758 \ub2e8\uc21c\ud654<\/H4>\n<P>V1\uc5d0\uc11c CLI \ubc30\uc5f4 \uac1c\uccb4\uc758 \uc120\uc5b8\uc740 \ud45c\uc900 \ubc30\uc5f4 \uc120\uc5b8\uc758 \ub2e4\uc18c \ube44\uc9c1\uad00\uc801\uc778 \ud655\uc7a5\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc774 \ud45c\uc900 \ubc30\uc5f4 \uc120\uc5b8\uc5d0\uc11c\ub294 <B>__gc<\/B> \ud0a4\uc6cc\ub4dc\uac00 \ubc30\uc5f4 \uac1c\uccb4\uc758 \uc774\ub984, \uadf8\ub9ac\uace0 \uc27c\ud45c\uac00 \ub4e4\uc5b4\uac08 \uc218 \uc788\ub294 \ubd80\ubd84 \uc0ac\uc774\uc5d0 \uc704\uce58\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V1 \uad6c\ubb38\nvoid PrintValues( Object* myArr __gc[]);\nvoid PrintValues( int myArr __gc[,,]);<\/PRE>\n<P>V2\uc5d0\uc11c\ub294 <B>STL<\/B>&nbsp;<B>\ubca1\ud130<\/B> \uc120\uc5b8\uc744 \uc81c\uc2dc\ud558\ub294 \ud15c\ud50c\ub9bf \ud615\uc2dd \uc120\uc5b8\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc774\ub97c \ub2e8\uc21c\ud654\ud588\uc2b5\ub2c8\ub2e4. \uccab \ubc88\uc9f8 \ub9e4\uac1c \ubcc0\uc218\ub294 \uc694\uc18c \ud615\uc2dd\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \ub450 \ubc88\uc9f8 \ub9e4\uac1c \ubcc0\uc218\ub294 \ubc30\uc5f4 \ucc28\uc6d0\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. \uae30\ubcf8\uac12\uc740 <B>1<\/B>\uc774\ubbc0\ub85c, \ubc30\uc5f4\uc774 \ub2e4\ucc28\uc6d0\uc778 \uacbd\uc6b0\uc5d0\ub9cc \ub450 \ubc88\uc9f8 \uc778\uc218\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \ubc30\uc5f4 \uac1c\uccb4 \uc790\uccb4\ub294 \ucd94\uc801 \ud578\ub4e4\uc774\ubbc0\ub85c \ud587(hat)\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \uc694\uc18c \ud615\uc2dd\ub3c4 \ucc38\uc870 \ud615\uc2dd\uc778 \uacbd\uc6b0\uc5d0\ub294 \uc694\uc18c \ud615\uc2dd\uc5d0\ub3c4 \ud587(hat)\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V2 \uad6c\ubb38\nvoid PrintValues( array&lt;Object^&gt;^ myArr );\nvoid PrintValues( array&lt;int,3&gt;^ myArr );<\/PRE>\n<H4>4. \uc18d\uc131 \ud1b5\ud569<\/H4>\n<P>V1\uc5d0\uc11c\ub294 \uac01\uac01\uc758 <B>set<\/B> \ub610\ub294 <B>get<\/B> \uc18d\uc131 \uc811\uadfc\uc790\uac00 \ub3c5\ub9bd \uba64\ubc84 \ud568\uc218\ub85c \uc9c0\uc815\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uac01 \uba54\uc11c\ub4dc\uc758 \uc120\uc5b8\uc5d0\ub294 <B>__property<\/B> \ud0a4\uc6cc\ub4dc\uac00 \uc811\ub450\uc5b4\ub85c \ubd99\uc2b5\ub2c8\ub2e4. \uba54\uc11c\ub4dc \uc774\ub984\uc740 <B>set_<\/B> \ub610\ub294 <B>get_<\/B>\uc73c\ub85c \uc2dc\uc791\ud558\uba70 \uadf8 \ub4a4\uc5d0 \uc2e4\uc81c \uc18d\uc131 \uc774\ub984\uc774 \uc635\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V1 \uad6c\ubb38\npublic __gc __sealed class Vector {\n &nbsp; float _x;\npublic :\n &nbsp; __property double get_x(){ return _x; }\n &nbsp; __property void set_x( double newx ){ _x = newx; }\n};<\/PRE>\n<P>\uc774 \ubc29\ubc95\uc740 \uc18d\uc131\uacfc \uc5f0\uacb0\ub41c \uae30\ub2a5\uc744 \ud655\uc7a5\ud558\uba70 \uc0ac\uc6a9\uc790\uac00 \uad00\ub828 <B>set<\/B> \ubc0f <B>get<\/B>\uc744 \uc5b4\ud718\uc801\uc73c\ub85c \ud1b5\ud569\ud574\uc57c \ud558\ubbc0\ub85c \ud63c\ub780\uc2a4\ub7ec\uc6e0\uc2b5\ub2c8\ub2e4. \ub354\uad6c\ub098 \uc5b4\ud718\uac00 \uc7a5\ud669\ud574\uc11c \uae54\ub054\ud55c \ub290\ub08c\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4. \uc218\uc815\ub41c \uc5b8\uc5b4 \ub514\uc790\uc778\uc5d0\uc11c\ub294 \uc18d\uc131 \ud0a4\uc6cc\ub4dc \ub4a4\uc5d0 \uc18d\uc131 \ud615\uc2dd\uacfc \uac04\ub2e8\ud55c \uc774\ub984\uc774 \uc635\ub2c8\ub2e4. <B>set<\/B> \ubc0f <B>get<\/B> \uc561\uc138\uc2a4 \uba54\uc11c\ub4dc\ub294 \uc18d\uc131 \uc774\ub984 \ub4a4\uc758 \ube14\ub85d \uc548\uc5d0 \ubc30\uce58\ub429\ub2c8\ub2e4. C#\uacfc \ub2ec\ub9ac \uc561\uc138\uc2a4 \uba54\uc11c\ub4dc\uc758 \uc11c\uba85\uc774 \uc9c0\uc815\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V2 \uad6c\ubb38\npublic ref class Vector sealed{ \n &nbsp; float _x;\npublic :\n &nbsp; property double x \n &nbsp; {\n &nbsp; &nbsp; &nbsp;double get(){ return _x; }\n &nbsp; &nbsp; &nbsp;void set( double newx ){ _x = newx; }\n &nbsp; } \/\/ \ucc38\uace0: \uc138\ubbf8\ucf5c\ub860 \uc5c6\uc74c.\n};<\/PRE>\n<H5>\uc778\ub371\uc2a4 \uc18d\uc131<\/H5>\n<P>V1\uc758 \uc778\ub371\uc2f1\ub41c \uc18d\uc131\uc5d0\uc11c \uac00\uc7a5 \ud070 \ub2e8\uc810\uc740 \ud074\ub798\uc2a4 \uc218\uc900\uc758 \ud558\uc704 \uc2a4\ud06c\ub9bd\ud305 \uae30\ub2a5\uc774 \uc5c6\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. \uadf8\ubcf4\ub2e4\ub294 \uc2ec\uac01\ud558\uc9c0 \uc54a\uc9c0\ub9cc, \ub450 \ubc88\uc9f8 \ub2e8\uc810\uc740 \uc77c\ubc18 \uc18d\uc131\uacfc \uc778\ub371\uc2f1\ub41c \uc18d\uc131\uc744 \uc2dc\uac01\uc801\uc73c\ub85c \uad6c\ubd84\ud558\uae30\uac00 \uc5b4\ub835\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. \ub9e4\uac1c \ubcc0\uc218\uc758 \uc218\uac00 \uc720\uc77c\ud55c \uad6c\ubd84 \uc218\ub2e8\uc785\ub2c8\ub2e4. V1\uc758 \uc778\ub371\uc2f1\ub41c \uc18d\uc131\uc5d0\ub294 \uc2a4\uce7c\ub77c \uc18d\uc131\uacfc \ub3d9\uc77c\ud55c \ubb38\uc81c\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc989, \uc811\uadfc\uc790\uac00 \uc6d0\uc790 \ub2e8\uc704\ub85c \ucde8\uae09\ub418\uc9c0 \uc54a\uace0 \uac1c\ubcc4 \uba54\uc11c\ub4dc\ub85c \ubd84\ub9ac\ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V1 \uad6c\ubb38\npublic __gc class Vector; \npublic __gc class Matrix\n{\n &nbsp; &nbsp;float mat[,]; \/\/ V1 \ubc30\uc5f4 \uad6c\ubb38...\n \npublic : \n &nbsp; __property void set_Item( int r, int c, float value);\n &nbsp; __property int get_Item( int r, int c );\n \n &nbsp; __property void set_Row( int r, Vector* value );\n &nbsp; __property int get_Row( int r );\n};<\/PRE>\n<P>V2\uc5d0\uc11c\ub294 \uc778\ub371\uc2a4 \uc18d\uc131\uc774 \uc778\ub371\uc11c \uc774\ub984 \ub4a4\uc5d0 \uc624\ub294 \ub300\uad04\ud638(<B>[<\/B>,<B>]<\/B>)\ub85c \uad6c\ubd84\ub429\ub2c8\ub2e4. \uc774 \ub300\uad04\ud638\ub294 \uac01 \uc778\ub371\uc2a4\uc758 \uc218\uc640 \ud615\uc2dd\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \uc0c8 \uad6c\ubb38\uc73c\ub85c \ub2e4\uc2dc \uce90\uc2a4\ud305\ud55c \ub9e4\ud2b8\ub9ad\uc2a4 \uc120\uc5b8\uc785\ub2c8\ub2e4. \uc804\ubc29 CLI \ud074\ub798\uc2a4 \uc120\uc5b8\uc740 \ub354 \uc774\uc0c1 \ubca1\ud130 \ud074\ub798\uc2a4\uc758 \uc804\ubc29 \uc120\uc5b8\uc5d0 \ub098\ud0c0\ub098 \uc788\ub294 \uac83\uacfc \uac19\uc774 \uacf5\uac1c \ubc0f \uac1c\uc778 \uc561\uc138\uc2a4 \uc218\uc900\uc744 \ub098\ud0c0\ub0bc \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V2 \uad6c\ubb38\n\/\/ \uc774\uc81c \uc5ec\uae30\uc11c \uacf5\uac1c\ub97c \uc9c0\uc815\ud560 \uc218 \uc5c6\uc74c...\nref class Vector; \npublic ref class Matrix {\nprivate :\n &nbsp; array&lt;float, 2&gt;^ mat; \/\/ V2 \ubc30\uc5f4 \uad6c\ubb38...\npublic :\n &nbsp; property int Item[int,int]\n &nbsp; {\n &nbsp; &nbsp; &nbsp;int get( int r, int c );\n &nbsp; &nbsp; &nbsp;void set( int r, int c, float value );\n &nbsp; }\n \n &nbsp; &nbsp; property int Row[int]\n &nbsp; {\n &nbsp; &nbsp; &nbsp;int get( int r );\n &nbsp; &nbsp; &nbsp;void set( int r, Vector^ value );\n &nbsp; }\n};<\/PRE>\n<P>\ud074\ub798\uc2a4 \uc218\uc900 \uc778\ub371\uc11c\ub97c \ub098\ud0c0\ub0b4\uae30 \uc704\ud574 <B>default<\/B> \ud0a4\uc6cc\ub4dc\ub97c \ub2e4\uc2dc \uc0ac\uc6a9\ud558\uc5ec \uba85\uc2dc\uc801\uc778 \uc774\ub984\uc73c\ub85c \ub300\uccb4\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>public ref class Matrix {\nprivate :\n &nbsp; array&lt;float, 2&gt;^ mat;\npublic :\n &nbsp; &nbsp; &nbsp;\/\/ \ud655\uc778. \uc774\uc81c \ud074\ub798\uc2a4 \uc218\uc900 \uc778\ub371\uc11c \uc9c0\uc815\n &nbsp; &nbsp; &nbsp;\/\/ &nbsp; &nbsp; Matrix mat ...\n &nbsp; &nbsp; &nbsp;\/\/ &nbsp; &nbsp; mat[ 0, 0 ] = 1; \n &nbsp; &nbsp; &nbsp;\/\/ \uae30\ubcf8 \uc778\ub371\uc11c\uc758 set \uc811\uadfc\uc790 \ud638\ucd9c...\n &nbsp; property int default[int,int]\n &nbsp; {\n &nbsp; &nbsp; &nbsp;int get( int r, int c );\n &nbsp; &nbsp; &nbsp;void set( int r, int c, float value );\n &nbsp; }\n};<\/PRE>\n<H4>5. \uc5f0\uc0b0\uc790\uc640 ISO-C++\uc758 \ud1b5\ud569<\/H4>\n<P>\uc544\ub9c8\ub3c4 V1\uc5d0\uc11c \uac00\uc7a5 \ub180\ub77c\uc6b4 \uc810\uc740 \uc5f0\uc0b0\uc790 \uc624\ubc84\ub85c\ub4dc \uc9c0\uc6d0\uc774 \ub9e4\uc6b0 \ube44\ud6a8\uc728\uc801\uc774\ub77c\ub294 \uac83\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ucc38\uc870 \ud615\uc2dd\uc744 \uc120\uc5b8\ud560 \uacbd\uc6b0 \uae30\ubcf8 <B>operator+<\/B> \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\ub294 \ub300\uc2e0 \uc5f0\uc0b0\uc790\uc758 \uae30\ubcf8 \ub0b4\ubd80 \uc774\ub984(\uc608: <B>op_Addition<\/B>)\uc744 \uba85\uc2dc\uc801\uc73c\ub85c \uc791\uc131\ud574\uc57c \ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc774\ubcf4\ub2e4 \ub354\uc6b1 \uc5b4\ub824\uc6b4 \uc810\uc740 \ud574\ub2f9 \uc774\ub984\uc744 \ud1b5\ud574 \uc5f0\uc0b0\uc790\ub97c \uba85\uc2dc\uc801\uc73c\ub85c \ud638\ucd9c\ud574\uc57c \ud558\uae30 \ub54c\ubb38\uc5d0 (a) \uc9c1\uad00\uc801\uc778 \uad6c\ubb38, (b) \uc0c8 \ud615\uc2dd\uc744 \uae30\uc874 \ud615\uc2dd\uacfc \ud63c\ud569\ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc774\ub77c\ub294 \uc5f0\uc0b0\uc790 \uc624\ubc84\ub85c\ub4dc\uc758 \ub450 \uac00\uc9c0 \uc8fc\uc694 \uc774\uc810\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uac8c \ub41c\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V1 \uad6c\ubb38\npublic __gc __sealed class Vector {\npublic :\n &nbsp;Vector( double x, double y, double z );\n &nbsp;static bool &nbsp; &nbsp;op_Equality( const Vector*, const Vector* );\n &nbsp;static Vector* op_Division( const Vector*, double );\n &nbsp;static Vector* op_Addition( const Vector*, const Vector* );\n &nbsp;static Vector* op_Subtraction( const Vector*, const Vector* );\n};\n \nint main()\n{\n &nbsp;Vector *pa = new Vector( 0.231, 2.4745, 0.023 );\n &nbsp;Vector *pb = new Vector( 1.475, 4.8916, -1.23 ); \n \n &nbsp;Vector *pc1 = Vector::op_Addition( pa, pb );\n &nbsp;Vector *pc2 = Vector::op_Subtraction( pa, pc1 );\n &nbsp;Vector *pc3 = Vector::op_Division( pc1, pc2-&gt;x() );\n \n &nbsp;if ( Vector::op_Equality( pc1, p2 )) \/\/ ...\n}<\/PRE>\n<P>V2\uc5d0\uc11c\ub294 \uc120\uc5b8\uacfc \uc815\uc801 \uc5f0\uc0b0\uc790 \uc0ac\uc6a9\uc774\ub77c\ub294 \ub450 \uac00\uc9c0 \uba74\uc5d0\uc11c \ubaa8\ub450 Native C++ \ud504\ub85c\uadf8\ub798\uba38\uac00 \uae30\ub300\ud558\ub294 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. V2\uc5d0\uc11c\ub3c4 C++ \uc778\uc2a4\ud134\uc2a4 \uc5f0\uc0b0\uc790\uac00 \uc9c0\uc6d0\ub418\uc9c0\ub9cc, \uc774\ub294 \ubcc0\ud658\uc5d0 \uad00\ud55c \ubb38\uc81c\uac00 \uc544\ub2d9\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V2 \uad6c\ubb38\npublic ref class Vector sealed{ \npublic :\n &nbsp; Vector( double x, double y, double z );\n &nbsp; static bool &nbsp; &nbsp;operator ==( const Vector^, const Vector^ );\n &nbsp; static Vector^ operator \/( const Vector^, double );\n &nbsp; static Vector^ operator +( const Vector^, const Vector^ );\n &nbsp; static Vector^ operator -( const Vector^, const Vector^ );\n};\n \nint main()\n{\n &nbsp; Vector^ pa = gcnew Vector( 0.231, 2.4745, 0.023 ),\n &nbsp; Vector^ pb = gcnew Vector( 1.475,4.8916,-1.23 );\n \n &nbsp; Vector^ pc1 = pa + pb;\n &nbsp; Vector^ pc2 = pa - pc1;\n &nbsp; Vector^ pc3 = pc1 \/ pc2-&gt;x();\n \n &nbsp; if ( pc1 == p2 ) \/\/ ...\n}<\/PRE>\n<DIV><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#mainSection\" target=\"_blank\" rel=\"noopener\"><IMG style=\"CURSOR: pointer\" id=userImg1297473 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.arrow_px_up(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(1297473)\",200)'><FONT color=#0033cc> <\/FONT><\/A><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#mainSection\" target=\"_blank\" rel=\"noopener\"><FONT color=#0033cc>\ud654\uba74 \ub9e8 \uc704\ub85c<\/FONT><\/A> <br \/><\/DIV>\n<H3 id=EACAC>\uc758\ubbf8\uc758 \ubcc0\ud654<\/H3>\n<P>\ubaa8\ub4e0 \uc804\ubb38 \uc9c0\uc2dd\uc744 \uac16\ucd94\uace0 \uc788\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \ud328\ub7ec\ub2e4\uc784\uc744 \ubc84\ub9ac\uace0 \uce5c\uc219\ud558\uc9c0 \uc54a\uc544 \ucd08\ubcf4\uc801\uc778 \uc624\ub958\ub97c \ubc94\ud558\uae30 \uc26c\uc6b4 \uc0c8\ub85c\uc6b4 \ud328\ub7ec\ub2e4\uc784\uc73c\ub85c \ubc14\uafbc\ub2e4\ub294 \uac83\uc740 \uc5b4\ub835\uace0 \ub2e4\uc18c \ub450\ub835\uae30\uae4c\uc9c0 \ud55c \uc77c\uc785\ub2c8\ub2e4. V2\uc5d0\uc11c\ub294 \ub2e4\uc591\ud55c C++ \uace0\uc720\uc758 \ud655\uc7a5 \uae30\ub2a5\uc744 \ud1b5\ud574 CLI \ubc14\uc778\ub529\uc758 \uc601\uc5ed\uc744 \ub113\ud798\uc73c\ub85c\uc368 \ub3d9\uc801 \ud504\ub85c\uadf8\ub798\ubc0d \ud328\ub7ec\ub2e4\uc784\uc73c\ub85c \uc880 \ub354 \uce5c\uc219\ud558\uac8c \uc774\uc804\ud560 \uc218 \uc788\ub3c4\ub85d \ud588\uc2b5\ub2c8\ub2e4. \uba64\ubc84 \ub2e8\uc704 \ubcf5\uc0ac \uad6c\ubb38\uacfc \uc218\uba85\uc774 \ub2e4\ud560 \ub54c \ucc38\uc870 \ud615\uc2dd \uc18c\uba78\uc790\ub97c \uc790\ub3d9 \ud638\ucd9c\ud558\ub294 \uae30\ub2a5\uc5d0 \ub300\ud55c \uc9c0\uc6d0\uc774 \uc5ec\uae30\uc5d0 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/P>\n<H4>6. \uc18c\uba78\uc790\uac00 IDisposable::Dispose\uac00 \ub428<\/H4>\n<P>\uac00\ube44\uc9c0 \uc218\uc9d1\uae30\uac00 \uac1c\uccb4\uc640 \uc5f0\uacb0\ub41c \uba54\ubaa8\ub9ac\ub97c \ud655\ubcf4\ud558\uae30 \uc804\uc5d0 \uc5f0\uad00\ub41c <B>Finalize()<\/B> \uba54\uc11c\ub4dc(\uc788\ub294 \uacbd\uc6b0)\uac00 \ud638\ucd9c\ub429\ub2c8\ub2e4. \uc774 \uba54\uc11c\ub4dc\ub294 \uac1c\uccb4\uc758 \ud504\ub85c\uadf8\ub7a8 \uc218\uba85\uc5d0 \uad6c\uc560\ubc1b\uc9c0 \uc54a\uc73c\ubbc0\ub85c \uc288\ud37c \uc18c\uba78\uc790 \uc815\ub3c4\ub85c \uc0dd\uac01\ud558\uba74 \ub429\ub2c8\ub2e4. \uc774\ub97c \uc885\ub8cc(finalization)\ub77c\uace0 \ud569\ub2c8\ub2e4. <B>Finalize()<\/B> \uba54\uc11c\ub4dc\uc758 \ud638\ucd9c \uc2dc\uae30, \uc2ec\uc9c0\uc5b4\ub294 \ud638\ucd9c \uc5ec\ubd80\ub3c4 \uc815\uc758\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uadf8\ub807\uae30 \ub54c\ubb38\uc5d0 \uac00\ube44\uc9c0 \uc218\uc9d1\uc740 \uba85\ud655\ud558\uc9c0 \uc54a\uc740 \uc885\ub8cc\ub97c \ub098\ud0c0\ub0b8\ub2e4\uace0 \ud558\ub294 \uac83\uc785\ub2c8\ub2e4.<\/P>\n<P>\uba85\ud655\ud558\uc9c0 \uc54a\uc740 \uc885\ub8cc\ub294 \ub3d9\uc801 \uba54\ubaa8\ub9ac \uad00\ub9ac\uc5d0 \uc801\ud569\ud569\ub2c8\ub2e4. \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uba54\ubaa8\ub9ac\uac00 \uc5b4\ub290 \uc815\ub3c4 \ubd80\uc871\ud574\uc9c0\uba74 \uac00\ube44\uc9c0 \uc218\uc9d1\uae30\uac00 \uc2e4\ud589\ub418\uba70 \ubaa8\ub4e0 \uac83\uc774 \uc815\uc0c1\uc801\uc73c\ub85c \uc791\ub3d9\ud569\ub2c8\ub2e4. \uac00\ube44\uc9c0 \uc218\uc9d1\ub41c \ud658\uacbd\uc5d0\uc11c\ub294 \uba54\ubaa8\ub9ac\ub97c \ud655\ubcf4\ud558\uae30 \uc704\ud55c \uc18c\uba78\uc790\uac00 \ud544\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. <\/P>\n<P>\uadf8\ub7ec\ub098 \uac1c\uccb4\uac00 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc5f0\uacb0\uc774\ub098 \uc77c\uc885\uc758 \uc7a0\uae08 \uac19\uc740 \uc911\uc694\ud55c \ub9ac\uc18c\uc2a4\ub97c \uc720\uc9c0\ud558\uace0 \uc788\ub294 \uacbd\uc6b0\uc5d0\ub294 \uba85\ud655\ud558\uc9c0 \uc54a\uc740 \uc885\ub8cc\uac00 \uc815\uc0c1\uc801\uc73c\ub85c \uc791\ub3d9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \uacbd\uc6b0\uc5d0\ub294 \ud574\ub2f9 \ub9ac\uc18c\uc2a4\ub97c \ucd5c\ub300\ud55c \ube68\ub9ac \ud574\uc81c\ud574\uc57c \ud569\ub2c8\ub2e4. \uc6d0\uc2dc \ud658\uacbd\uc5d0\uc11c\ub294 \uc0dd\uc131\uc790\/\uc18c\uba78\uc790 \uc30d\uc744 \ub9de\ucda4\uc73c\ub85c\uc368 \uc774\ub7ec\ud55c \uc791\uc5c5\uc744 \uc218\ud589\ud569\ub2c8\ub2e4. \uac1c\uccb4\uc758 \uc218\uba85\uc774 \ub05d\ub098\ub294 \uc989\uc2dc, \uac1c\uccb4\ub97c \uc120\uc5b8\ud55c \ub85c\uceec \ube14\ub85d\uc758 \uc644\ub8cc \ub610\ub294 throw\ub41c \uc608\uc678\ub85c \uc778\ud55c \uc2a4\ud0dd \ud574\uc81c\ub97c \ud1b5\ud574 \uc18c\uba78\uc790\uac00 \uc2e4\ud589\ub418\uc5b4 \ub9ac\uc18c\uc2a4\uac00 \uc790\ub3d9\uc73c\ub85c \ud574\uc81c\ub429\ub2c8\ub2e4. \uc774\ub294 \ud6cc\ub96d\ud558\uac8c \uc791\ub3d9\ud569\ub2c8\ub2e4. \uc6d0\ub798 \uc5b8\uc5b4 \ub514\uc790\uc778\uc5d0\uc11c\ub294 \uc774 \uae30\ub2a5\uc774 \uc791\ub3d9\ud558\uc9c0 \uc54a\uc544 \ub9e4\uc6b0 \ubd88\ud3b8\ud588\uc2b5\ub2c8\ub2e4.<\/P>\n<P>CLI\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ud574\uacb0\ucc45\uc740 \ud074\ub798\uc2a4\uac00 <B>IDisposable<\/B> \uc778\ud130\ud398\uc774\uc2a4\uc758 <B>Dispose()<\/B> \uba54\uc11c\ub4dc\ub97c \uad6c\ud604\ud558\ub3c4\ub85d \ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc5ec\uae30\uc11c \ubb38\uc81c\ub294 <B>Dispose()<\/B>\uc5d0 \uc0ac\uc6a9\uc790\uc758 \uba85\uc2dc\uc801 \ud638\ucd9c\uc774 \ud544\uc694\ud558\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774 \uc791\uc5c5\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uae30 \uc26c\uc6b0\ubbc0\ub85c \uc2dc\ub300\uc5d0 \ub4a4\ucc98\uc9c4 \ubc29\uc2dd\uc774\ub77c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. C# \uc5b8\uc5b4\ub294 \ud2b9\uc218\ud55c using \ubb38\uc744 \ud1b5\ud574 \uac04\ub2e8\ud55c \ud615\ud0dc\uc758 \uc790\ub3d9\ud654\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. V1\uc5d0\uc11c\ub294 \ud2b9\uc218\ud55c \uc9c0\uc6d0\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/P>\n<P>V1\uc5d0\uc11c\ub294 \ucc38\uc870 \ud074\ub798\uc2a4\uc758 \uc18c\uba78\uc790\uac00 \ub2e4\uc74c\uc758 \ub450 \ub2e8\uacc4\ub97c \ud1b5\ud574 \uad6c\ud604\ub429\ub2c8\ub2e4. <\/P>\n<OL>\n<LI>\n<P>\uc0ac\uc6a9\uc790\uac00 \uc81c\uacf5\ud55c \uc18c\uba78\uc790\uc758 \uc774\ub984\uc740 \ub0b4\ubd80\uc5d0\uc11c <B>Finalize()<\/B>\ub85c \ubc14\ub01d\ub2c8\ub2e4. \ud074\ub798\uc2a4\uc5d0 \uae30\ubcf8 \ud074\ub798\uc2a4(CLI \uac1c\uccb4 \ubaa8\ub378\uc5d0\uc11c\ub294 \ub2e8\uc77c \uc0c1\uc18d\ub9cc \uc9c0\uc6d0\ub428)\uac00 \uc788\ub294 \uacbd\uc6b0 \ucef4\ud30c\uc77c\ub7ec\ub294 \uc0ac\uc6a9\uc790\uac00 \uc81c\uacf5\ud55c \ucf54\ub4dc\ub97c \uc2e4\ud589\ud55c \ud6c4\uc5d0 \ud574\ub2f9 \ud30c\uc774\ub110\ub77c\uc774\uc800\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 <B>V1<\/B> \uc5b8\uc5b4 \uc0ac\uc591\uc5d0\uc11c \ub2e4\uc74c\uacfc \uac19\uc774 \uc77c\ubc18\uc801\uc778 \uacc4\uce35 \uad6c\uc870\ub97c \uac00\uc838\uc628\ub2e4\uace0 \uac00\uc815\ud574 \ubd05\uc2dc\ub2e4. <\/P><PRE>__gc class A {\npublic :\n &nbsp; ~A() { Console::WriteLine(S\"in ~A\"); }\n};\n__gc class B : public A {\npublic :\n &nbsp; ~B() { Console::WriteLine(S\"in ~B\"); &nbsp;}\n};<\/PRE>\n<P>\ub450 \uc18c\uba78\uc790 \ubaa8\ub450 <B>Finalize()<\/B>\ub85c \uc774\ub984\uc774 \ubc14\ub01d\ub2c8\ub2e4. <B>B<\/B>\uc758 <B>Finalize()<\/B> \uba54\uc11c\ub4dc\uc5d0\ub294 <B>WriteLine()<\/B> \ud638\ucd9c \ub4a4\uc5d0 <B>A<\/B>\uc758 <B>Finalize()<\/B> \uba54\uc11c\ub4dc \ud638\ucd9c\uc774 \ucd94\uac00\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc774 \uac00\ube44\uc9c0 \uc218\uc9d1\uae30\uac00 \uc885\ub8cc \uc2dc \uae30\ubcf8\uc801\uc73c\ub85c \ud638\ucd9c\ud558\ub294 \ub0b4\uc6a9\uc785\ub2c8\ub2e4. \uc774 \ub0b4\ubd80 \ubcc0\ud658\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V1\uc5d0\uc11c \uc18c\uba78\uc790\uc758 \ub0b4\ubd80 \ubcc0\ud658\n__gc class A {\n &nbsp; \/\/ ...\n &nbsp; void Finalize() { Console::WriteLine(S\"in ~A\"); }\n};\n \n__gc class B : public A {\n &nbsp; \/\/ ...\n &nbsp; void Finalize() { \nConsole::WriteLine(S\"in ~B\"); &nbsp;\nA::Finalize(); \n &nbsp; }\n};<\/PRE>\n<LI>\n<P>\ub450 \ubc88\uc9f8 \ub2e8\uacc4\uc5d0\uc11c \ucef4\ud30c\uc77c\ub7ec\ub294 \uac00\uc0c1 \uc18c\uba78\uc790\ub97c \ud569\uc131\ud569\ub2c8\ub2e4. <B>V1<\/B> \uc0ac\uc6a9\uc790 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c\ub294 \uc774 \uc18c\uba78\uc790\ub97c \uc9c1\uc811\uc801\uc73c\ub85c \ub610\ub294 <B>delete<\/B> \uc2dd\uc744 \uc801\uc6a9\ud558\uc5ec \ud638\ucd9c\ud569\ub2c8\ub2e4. \uc774 \uc18c\uba78\uc790\uac00 \uac00\ube44\uc9c0 \uc218\uc9d1\uae30\uc5d0 \uc758\ud574 \ud638\ucd9c\ub418\ub294 \uacbd\uc6b0\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. <\/P>\n<P>\uadf8\ub7ec\uba74 \uc774 \ud569\uc131\ub41c \uc18c\uba78\uc790 \ub0b4\uc5d0\ub294 \uc5b4\ub5a4 \ub0b4\uc6a9\uc774 \ub4e4\uc5b4\uac08\uae4c\uc694 \ub450 \uac1c\uc758 \ubb38\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4. \ud558\ub098\ub294 \ub354 \uc774\uc0c1 <B>Finalize()<\/B>\uac00 \ud638\ucd9c\ub418\uc9c0 \uc54a\ub3c4\ub85d \ud558\ub294 <B>GC::SuppressFinalize()<\/B>\uc5d0 \ub300\ud55c \ud638\ucd9c\uc785\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \ub2e4\ub978 \ud558\ub098\ub294 \uc2e4\uc81c <B>Finalize()<\/B> \ud638\ucd9c\uc785\ub2c8\ub2e4. \uc774 \uc7ac\ud638\ucd9c\uc740 \ud574\ub2f9 \ud074\ub798\uc2a4\uc5d0 \ub300\ud574 \uc0ac\uc6a9\uc790\uac00 \uc81c\uacf5\ud55c \uc18c\uba78\uc790\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \uc774 \ub0b4\uc6a9\uc744 \ud45c\uc2dc\ud55c \uac83\uc785\ub2c8\ub2e4.<\/P><PRE>__gc class A {\npublic :\n &nbsp; &nbsp; &nbsp;virtual ~A() \n{\n &nbsp; &nbsp; &nbsp; &nbsp; System::GC::SuppressFinalize(this);\n &nbsp; &nbsp; &nbsp; &nbsp; A::Finalize(); \n &nbsp; &nbsp; &nbsp;}\n};\n \n__gc class B : public A {\npublic :\n &nbsp; &nbsp; &nbsp;virtual ~B() \n{ \n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;System::GC:SuppressFinalize(this);\n &nbsp; &nbsp; &nbsp; &nbsp; B::Finalize();\n &nbsp; &nbsp; &nbsp;}\n};<\/PRE><\/LI><\/OL>\n<P>\uc774 \uad6c\ud604\uc5d0\uc11c\ub294 \uc0ac\uc6a9\uc790\uac00 \ud074\ub798\uc2a4 <B>Finalize()<\/B> \uba54\uc11c\ub4dc\ub97c \uc774\uc81c \uadf8 \uc5b4\ub290 \ub54c\ubcf4\ub2e4 \uba85\uc2dc\uc801\uc73c\ub85c \ud638\ucd9c\ud560 \uc218 \uc788\uc9c0\ub9cc, <B>Dispose()<\/B> \uba54\uc11c\ub4dc \uc194\ub8e8\uc158\uacfc \uc2e4\uc81c\ub85c \uc5f0\uacb0\ub418\ub294 \uac83\uc740 \uc544\ub2d9\ub2c8\ub2e4. \uc218\uc815\ub41c \uc5b8\uc5b4 \ub514\uc790\uc778\uc5d0\uc11c \uc774 \uc0ac\ud56d\uc774 \ubcc0\uacbd\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/P>\n<P>V2\uc5d0\uc11c\ub294 \uc18c\uba78\uc790\uc758 \uc774\ub984\uc774 \ub0b4\ubd80\uc5d0\uc11c <B>Dispose()<\/B> \uba54\uc11c\ub4dc\ub85c \ubc14\ub00c\uace0 \ucc38\uc870 \ud074\ub798\uc2a4\ub294 \uc790\ub3d9\uc73c\ub85c \ud655\uc7a5\ub418\uc5b4 <B>IDispose<\/B> \uc778\ud130\ud398\uc774\uc2a4\ub97c \uad6c\ud604\ud569\ub2c8\ub2e4. <\/P>\n<P>\uc18c\uba78\uc790\uac00 V2\uc5d0\uc11c \uba85\uc2dc\uc801\uc73c\ub85c \ud638\ucd9c\ub418\uac70\ub098 \ucd94\uc801 \ud578\ub4e4\uc5d0 delete\uac00 \uc801\uc6a9\ub418\ub294 \uacbd\uc6b0 \uae30\ubcf8 <B>Dispose()<\/B> \uba54\uc11c\ub4dc\uac00 \uc790\ub3d9\uc73c\ub85c \ud638\ucd9c\ub429\ub2c8\ub2e4. \ud30c\uc0dd \ud074\ub798\uc2a4\uc758 \uacbd\uc6b0\uc5d0\ub294 \uae30\ubcf8 \ud074\ub798\uc2a4\uc758 <B>Dispose()<\/B> \uba54\uc11c\ub4dc \ud638\ucd9c\uc774 \ud569\uc131\ub41c \uba54\uc11c\ub4dc \uadfc\ucc98\uc5d0 \uc0bd\uc785\ub429\ub2c8\ub2e4. <\/P>\n<P>\ud558\uc9c0\ub9cc \uc774\uac83\uc73c\ub85c \uba85\ud655\ud55c \uc885\ub8cc\uac00 \uc644\ub8cc\ub418\ub294 \uac83\uc740 \uc544\ub2d9\ub2c8\ub2e4. \uc644\ub8cc\uc5d0\ub294 \ub85c\uceec \ucc38\uc870 \uac1c\uccb4\uc758 \ucd94\uac00 \uc9c0\uc6d0\uc774 \ud544\uc694\ud558\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. V1\uc5d0\ub294 \uc774\uc640 \uc720\uc0ac\ud55c \uc9c0\uc6d0\uc774 \uc5c6\uc73c\ubbc0\ub85c \uc774\ub294 \ubcc0\ud658\uc5d0 \uad00\ub828\ub418\ub294 \ubb38\uc81c\ub294 \uc544\ub2d9\ub2c8\ub2e4. \ubca0\ud0c01 \ub9b4\ub9ac\uc2a4\uc5d0\uc11c\ub3c4 \uc774\ub7ec\ud55c \uc9c0\uc6d0\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uc804\uccb4 \ubcc0\ud658 \uac00\uc774\ub4dc\ub97c \ucc38\uace0\ud558\uc2ed\uc2dc\uc624.<\/P>\n<P>\uc55e\uc11c \uc0b4\ud3b4\ubcf4\uc558\ub4ef\uc774 V2\uc5d0\uc11c\ub294 \uc18c\uba78\uc790\uac00 <B>Dispose()<\/B> \uba54\uc11c\ub4dc\ub85c \ud569\uc131\ub429\ub2c8\ub2e4. \uc989, \uc18c\uba78\uc790\uac00 \uba85\uc2dc\uc801\uc73c\ub85c \ud638\ucd9c\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0 \uac00\ube44\uc9c0 \uc218\uc9d1\uae30\ub294 \uc885\ub8cc \ub3d9\uc548 \uc774\uc804\ucc98\ub7fc \uac1c\uccb4\uc5d0 \ub300\ud574 \uad00\ub828 <B>Finalize()<\/B> \uba54\uc11c\ub4dc\ub97c \ucc3e\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc18c\uba78\uacfc \uc885\ub8cc\ub97c \ubaa8\ub450 \uc9c0\uc6d0\ud560 \uc218 \uc788\ub3c4\ub85d V2\uc5d0\uc11c\ub294 \ud30c\uc774\ub110\ub77c\uc774\uc800 \uc81c\uacf5\uc744 \uc704\ud55c \ud2b9\uc218 \uad6c\ubb38\uc744 \ub3c4\uc785\ud588\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; \/\/ V2 \uad6c\ubb38\n &nbsp; public ref class R {\n &nbsp; protected:\n &nbsp; &nbsp; &nbsp;!R() { Console::WriteLine( \"I am the R::finalizer()!\" ); }\n &nbsp; };<\/PRE>\n<P><B>!<\/B> \uc811\ub450\uc5b4\ub294 \ud074\ub798\uc2a4 \uc18c\uba78\uc790\ub97c \uc0ac\uc6a9\ud558\ub294 \uc720\uc0ac\ud55c \ubb3c\uacb0\ud45c(<B>~<\/B>)\ub97c \uc81c\uc548\ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4. \uc989, \ub450 \uc218\uba85 \ud6c4 \uba54\uc11c\ub4dc \ubaa8\ub450 \ud074\ub798\uc2a4 \uc774\ub984 \uc55e\uc5d0 \ud1a0\ud070\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ud569\uc131\ub41c <B>Finalize()<\/B> \uba54\uc11c\ub4dc\uac00 \ud30c\uc0dd \ud074\ub798\uc2a4 \ub0b4\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0 \uae30\ubcf8 \ud074\ub798\uc2a4 <B>Finalize()<\/B> \uba54\uc11c\ub4dc\uc758 \ud638\ucd9c\uc740 \ub05d\uc5d0 \uc0bd\uc785\ub429\ub2c8\ub2e4. \uc18c\uba78\uc790\uac00 \uba85\uc2dc\uc801\uc73c\ub85c \ud638\ucd9c\ub418\uba74 \ud30c\uc774\ub110\ub77c\uc774\uc800\uac00 \ud45c\uc2dc\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud30c\uc774\ub110\ub77c\uc774\uc800\ub294 \ubcf4\ud638\ub41c \uc0c1\ud0dc\uc774\uc790 \uacf5\uac1c \uba64\ubc84\uac00 \uc544\ub2cc \uc0c1\ud0dc\ub85c \uc120\uc5b8\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/P>\n<P>\uc774\ub294 \ucc38\uc870 \ud074\ub798\uc2a4\uc5d0 \ud2b9\ubcc4\ud55c \uc18c\uba78\uc790\uac00 \ud3ec\ud568\ub420 \ub54c\ub9c8\ub2e4 V1 \ud504\ub85c\uadf8\ub7a8\uc758 \ub7f0\ud0c0\uc784 \ub3d9\uc791\uc774 V2\uc5d0\uc11c \ucef4\ud30c\uc77c\ud560 \ub54c \uc57d\uac04 \ubcc0\uacbd\ub428\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \ud544\uc218 \ubcc0\ud658 \uc54c\uace0\ub9ac\uc998\uc5d0\uc11c\ub294 \ub2e4\uc74c\uc744 \uc218\ud589\ud574\uc57c \ud569\ub2c8\ub2e4. <\/P>\n<UL>\n<LI>\n<P>\uc18c\uba78\uc790\uac00 \uc788\ub294 \uacbd\uc6b0\uc5d0\ub294 \ud074\ub798\uc2a4 \ud30c\uc774\ub110\ub77c\uc774\uc800\uac00 \ub418\ub3c4\ub85d \ub2e4\uc2dc \uc791\uc131\ud558\uc2ed\uc2dc\uc624. <\/P>\n<LI>\n<P><B>Dispose()<\/B> \uba54\uc11c\ub4dc\uac00 \uc788\ub294 \uacbd\uc6b0\uc5d0\ub294 \ud074\ub798\uc2a4 \uc18c\uba78\uc790\ub85c \ub2e4\uc2dc \uc791\uc131\ud558\uc2ed\uc2dc\uc624. <\/P>\n<LI>\n<P>\uc6d0\ub798 \ucf54\ub4dc\uc5d0 \ud074\ub798\uc2a4 \uc18c\uba78\uc790\uc758 \uba85\uc2dc\uc801\uc778 \ud638\ucd9c \ub610\ub294 \ud615\uc2dd \uc778\uc2a4\ud134\uc2a4\uc5d0 \ub300\ud55c delete \uc5f0\uc0b0\uc790 \uc801\uc6a9\uc774 \ud3ec\ud568\ub41c \uacbd\uc6b0, V1 \ub3d9\uc791\uc744 \ubcf5\uc81c\ud558\uae30 \uc704\ud574 \ud30c\uc774\ub110\ub77c\uc774\uc800\ub97c \ud638\ucd9c\ud560 \ub54c \uc0ac\uc6a9\ud560 \uacf5\uac1c \uba54\uc11c\ub4dc\ub3c4 \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <\/P><PRE>public ref class R {\npublic :\n &nbsp; void callFinalizer()\n &nbsp; {\n &nbsp; &nbsp; &nbsp; System::GC::SuppressFinalize(this);\n &nbsp; &nbsp; &nbsp; This-&gt;!R();\n &nbsp; }\n protected:\n &nbsp; &nbsp; &nbsp;!R() { Console::WriteLine( \"I am the R::finalizer()!\" ); }\n };<\/PRE>\n<P>\uc608\ub97c \ub4e4\uc5b4 \ub2e4\uc74c\uacfc \uac19\uc740 V1 \ucf54\ub4dc\uac00 \uc788\ub2e4\uace0 \uac00\uc815\ud574 \ubd05\uc2dc\ub2e4.<\/P><PRE>void f( R* r )\n{\n &nbsp; &nbsp;r-&gt;Dispose(); \/\/ 1\n &nbsp; &nbsp;delete r; \/\/ 2\n };<\/PRE>\n<P>\uc774 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uc758 V2 \ucf54\ub4dc\ub85c \ubcc0\ud658\ub429\ub2c8\ub2e4.<\/P><PRE>void f( R^ r )\n{\n &nbsp; &nbsp;delete r ; \/\/ 1\uc5d0 \ud574\ub2f9\n &nbsp; &nbsp;r-&gt;callFinalizer(); \/\/ 2\n };<\/PRE><\/LI><\/UL>\n<H4>7. CLI \uc5f4\uac70\ud615<\/H4>\n<P>V1 CLI \uc5f4\uac70\ud615 \uc120\uc5b8 \uc55e\uc5d0\ub294 <B>__value<\/B> \ud0a4\uc6cc\ub4dc\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 <B>System::ValueType<\/B>\uc73c\ub85c\ubd80\ud130 \ud30c\uc0dd\ub418\ub294 CLI \uc5f4\uac70\ud615\uc758 \uae30\ubcf8 \uc5f4\uac70\ud615\uacfc \uae30\ub2a5\uc740 \ube44\uc2b7\ud558\uc9c0\ub9cc \uc774 \ub458\uc740 \uc11c\ub85c \ub2e4\ub985\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V1 \uad6c\ubb38\n__value enum e1 { fail, pass };\npublic __value enum e2 : unsigned short\n &nbsp; &nbsp; { not_ok = 1024, maybe, ok = 2048 };<\/PRE>\n<P>V2\uc5d0\uc11c\ub294 \uac12 \ud615\uc2dd \ub8e8\ud2b8\ubcf4\ub2e4 CLI \uc5f4\uac70\ud615\uc758 \ud074\ub798\uc2a4 \ud2b9\uc131\uc744 \uac15\uc870\ud558\ub294 \ubc29\ubc95\uc73c\ub85c \uae30\ubcf8 \uc5f4\uac70\ud615\uacfc CLI \uc5f4\uac70\ud615\uc744 \uad6c\ubd84\ud558\ub294 \ubb38\uc81c\ub97c \ud574\uacb0\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c <B>__value<\/B> \ud0a4\uc6cc\ub4dc\ub294 \uc0ad\uc81c\ub418\uace0 <B>enum<\/B>&nbsp;<B>class<\/B>\uc758 \uacf5\ubc31\uc774 \uc788\ub294 \ud0a4\uc6cc\ub4dc \uc30d\uc73c\ub85c \ub300\uccb4\ub429\ub2c8\ub2e4. \uc774\ub294 \ucc38\uc870, \uac12 \ubc0f \uc778\ud130\ud398\uc774\uc2a4 \ud074\ub798\uc2a4\uc758 \uc120\uc5b8\uc5d0 \ub300\ud574 \ub300\uce6d\ub418\ub294 \ud0a4\uc6cc\ub4dc \uc30d\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. V2\uc5d0\uc11c \uc5f4\uac70\ud615 \uc30d <B>e1<\/B> \ubc0f <B>e2<\/B>\uc758 \ubcc0\ud658\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V2 \uad6c\ubb38\nenum class e1 { fail, pass };\npublic enum class e2 : unsigned short\n &nbsp; &nbsp; { not_ok = 1024, maybe, ok = 2048 };<\/PRE>\n<P>\uc774 \uc791\uc740 \uad6c\ubb38\uc0c1\uc758 \ubcc0\ud654 \uc678\uc5d0\ub3c4 CLI \uc5f4\uac70\ud615 \ud615\uc2dd\uc758 \ub3d9\uc791\uc774 \ub2e4\uc591\ud558\uac8c \ubcc0\uacbd\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <\/P>\n<UL>\n<LI>\n<P>V2\uc5d0\uc11c\ub294 CLI \uc5f4\uac70\ud615\uc758 \uc804\ubc29 \uc120\uc5b8\uc774 \ub354 \uc774\uc0c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub9e4\ud551\ub3c4 \uc5c6\uc73c\uba70 \ucef4\ud30c\uc77c \uc2dc\uac04 \uc624\ub958 \ud50c\ub798\uadf8\uac00 \uc9c0\uc815\ub418\uc5b4 \uc788\uc744 \ubfd0\uc785\ub2c8\ub2e4. <\/P>\n<LI>\n<P>\uae30\ubcf8 \uc81c\uacf5 \uc0b0\uc220 \ud615\uc2dd\uacfc \uac1c\uccb4 \ud074\ub798\uc2a4 \uacc4\uce35 \uad6c\uc870 \uac04\uc758 \uc624\ubc84\ub85c\ub4dc \ud655\uc778\uc740 V1\uacfc V2\uc5d0\uc11c \ubc18\ub300\ub85c \ubc14\ub00c\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub85c \uc778\ud574 V2\uc5d0\uc11c CLI \uc5f4\uac70\ud615\uc740 \ub354 \uc774\uc0c1 V1\uc5d0\uc11c\ucc98\ub7fc \uc0b0\uc220 \ud615\uc2dd\uc73c\ub85c \uc554\uc2dc\uc801\uc73c\ub85c \ubcc0\ud658\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ub2e4\uc74c\uacfc \uac19\uc740 \ucf54\ub4dc \uc870\uac01\uc774 \uc788\ub2e4\uace0 \uac00\uc815\ud574 \ubd05\uc2dc\ub2e4. <\/P><PRE>\/\/ V1 \uad6c\ubb38\n__value enum status { fail, pass };\nvoid f( Object* ){ cout &lt;&lt; \"f(Object)\\n\"; }\nvoid f( int ){ cout &lt;&lt; \"f(int)\\n\"; }\nint main()\n{\n &nbsp; status rslt;\n &nbsp; f( rslt ); \/\/ \uc5b4\ub5a4 f\uac00 \ud638\ucd9c\ub429\ub2c8\uae4c\n}<\/PRE>\n<P>Native C++ \ud504\ub85c\uadf8\ub798\uba38\ub77c\uba74 \uc624\ubc84\ub85c\ub4dc\ub41c <B>f()<\/B>\uc758 \uc5b4\ub5a4 \uc778\uc2a4\ud134\uc2a4\uac00 \ud638\ucd9c\ub418\ub294\uc9c0\ub97c \ubb3b\ub294\ub2e4\uba74 \ub2f9\uc5f0\ud788 <B>f(int)<\/B>\ub77c\uace0 \ub300\ub2f5\ud560 \uac83\uc785\ub2c8\ub2e4. \uc5f4\uac70\ud615\uc740 \uc0c1\uc9d5\uc801\uc778 \uc815\uc218 \uacc4\uc5f4 \uc0c1\uc218\uc774\uba70, \uc774 \uacbd\uc6b0 \uc6b0\uc120\uc801\uc73c\ub85c \ubc1c\uc0dd\ud558\ub294 \ud45c\uc900 \uc815\uc218 \uacc4\uc5f4 \uc218\uc900 \uc62c\ub9ac\uae30\uac00 \uc801\uc6a9\ub429\ub2c8\ub2e4. V1\uc5d0\uc11c \uc774\uac83\uc740 \ud638\ucd9c\uc774 \ud655\uc778\ub418\ub294 \uc778\uc2a4\ud134\uc2a4\uc785\ub2c8\ub2e4. <\/P>\n<P>\uadf8\ub7ec\ub098 \uc774\ub7ec\ud55c \ud655\uc778 \ubc29\uc2dd\uc740 Native ++C \ubc29\uc2dd\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uac00 \uc544\ub2c8\ub77c, \uc5f4\uac70\ud615\uc774 \uac1c\uccb4\ub85c\ubd80\ud130 \uac04\uc811\uc801\uc73c\ub85c \ud30c\uc0dd\ub41c \ud074\ub798\uc2a4\uc778 \uae30\uc874 \uae30\ubcf8 \ud074\ub798\uc2a4 \ub77c\uc774\ube0c\ub7ec\ub9ac \ud504\ub808\uc784\uc6cc\ud06c\uc640 \uc0c1\ud638 \uc791\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \uc5ec\ub7ec \uac00\uc9c0 \ubb38\uc81c\ub97c \uc57c\uae30\ud588\uc2b5\ub2c8\ub2e4. V2\uc5d0\uc11c\ub294 \ud638\ucd9c\ub41c <B>f()<\/B>\uc758 \uc778\uc2a4\ud134\uc2a4\uac00 <B>f(Object^)<\/B>\uc758 \uc778\uc2a4\ud134\uc2a4\uc785\ub2c8\ub2e4. <\/P>\n<P>\uadf8\ub85c \uc778\ud574 \uc218\uc815\ub41c \uc5b8\uc5b4\uc5d0\uc11c\ub294 CLI \uc5f4\uac70\ud615 \ud615\uc2dd\uacfc \uc0b0\uc220 \ud615\uc2dd \uac04\uc758 \uc554\uc2dc\uc801\uc778 \ubcc0\ud658\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc0b0\uc220 \ud615\uc2dd\uc774 \ud544\uc694\ud55c \uc704\uce58\uc5d0 CLI \uc5f4\uac70\ud615\uc744 \uc0ac\uc6a9\ud588\ub358 \ucf54\ub4dc\uc5d0\ub294 \uc774\uc81c \uba85\uc2dc\uc801\uc778 \uce90\uc2a4\ud2b8\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. <\/P>\n<LI>\n<P>V2\uc5d0\uc11c\ub294 \uad00\ub9ac\ub418\ub294 \uc5f4\uac70\ud615\uc774 CLI \uac1c\uccb4 \ubaa8\ub378\uc744 \uc900\uc218\ud558\uba74\uc11c \uc790\uccb4 \ubc94\uc704\ub97c \uc720\uc9c0\ud558\uc9c0\ub9cc, \uc774\ub294 Native C++ \ud504\ub85c\uadf8\ub798\uba38\uc5d0\uac8c \uc9c1\uad00\uc801\uc774\uc9c0 \ubabb\ud569\ub2c8\ub2e4. V1\uc5d0\uc11c\ub294 \uae30\ubcf8 \uc5f4\uac70\ud615 \ub0b4\uc5d0 \ubc94\uc704\uac00 \uc5c6\ub2e4\ub294 \uacb0\uc810\uc744 \ubcf4\uc644\ud558\uae30 \uc704\ud574 CLI \uc5f4\uac70\ud615\uc758 \uc5f4\uac70\uc790\uc5d0 \ub300\ud574 \ud655\uc2e4\ud558\uac8c \uc8fc\uc785\ub418\uc9c0 \uc54a\uc740 \uc774\ub984\uc744 \uc815\uc758\ud558\uae30 \uc704\ud55c \uc2dc\ub3c4\uac00 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc774\ub294 \uadf8\ub2e4\uc9c0 \uc131\uacf5\uc801\uc774\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. \uc5f4\uac70\uc790\uac00 \uc804\uc5ed \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub85c \ud769\uc5b4\uc838\uc11c \uc774\ub984 \ucda9\ub3cc\uc744 \uad00\ub9ac\ud558\uae30 \uc5b4\ub824\uc6cc\uc9c0\ub294 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud588\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c V2\uc5d0\uc11c\ub294 \uad00\ub9ac\ub418\ub294 \uc5f4\uac70\ud615 \ub0b4\uc758 \ubc94\uc704\ub97c \uc9c0\uc6d0\ud558\uae30 \uc704\ud574 \ub2e4\ub978 CLI \uc5b8\uc5b4\ub97c \uc900\uc218\ud588\uc2b5\ub2c8\ub2e4. <\/P>\n<P>\uc989, V1\uc5d0\uc11c\ub294 CLI \uc5f4\uac70\ud615\uc758 \uc5f4\uac70\uc790\uac00 \uc5f4\uac70\ud615\uc758 \ud3ec\ud568 \ubc94\uc704 \ub0b4\uc5d0 \ud45c\uc2dc\ub418\uc9c0\ub9cc V2\uc5d0\uc11c\ub294 \uc5f4\uac70\uc790\uac00 \uc5f4\uac70\ud615\uc758 \ubc94\uc704 \ub0b4\uc5d0 \ucea1\uc290\ud654\ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c V2\uc5d0\uc11c\ub294 CLI \uc5f4\uac70\ud615\uc758 \uc5f4\uac70\uc790\ub97c \uc815\uaddc\ud654\ud558\uc9c0 \uc54a\uace0 \uc0ac\uc6a9\ud558\uba74 \uc778\uc2dd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ \uc57d\ud55c \uc0bd\uc785\uc744 \uc9c0\uc6d0\ud558\ub294 V1\n__gc class XDCMake {\npublic :\n &nbsp;__value enum _xdc { \n &nbsp; &nbsp; UNDEFINED, OPTION_USAGE, XDC4_XML_LDFAIL = 4 };\n \n &nbsp;XDCMake() {\n &nbsp; &nbsp; \/\/ _xdc \uc5f4\uac70\uc790\uc758 \ube44\uc815\uaddc\ud654\ub41c \uc0ac\uc6a9...\n &nbsp; &nbsp; opList-&gt;Add( __box(UNDEFINED)); &nbsp; &nbsp; &nbsp; &nbsp; \/\/ (1)\n &nbsp; &nbsp; opList-&gt;Add( __box(OPTION_USAGE)); &nbsp; &nbsp; &nbsp;\/\/ (2)\n &nbsp; &nbsp; itagList-&gt;Add( __box(XDC4_XML_LDFAIL)); \/\/ (3)\n &nbsp; }\n};<\/PRE>\n<P>\uc5f4\uac70\uc790 \uc774\ub984\uc758 \uc138 \uac00\uc9c0 \ube44\uc815\uaddc\ud654\ub41c \uc0ac\uc6a9(<B>(1)<\/B>, <B>(2)<\/B> \ubc0f <B>(3)<\/B>)\uc740 V2\ub85c \ubcc0\ud658\ub420 \ub54c \uac01\uac01 \uc815\uaddc\ud654\ud574\uc57c \ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V2 \uad6c\ubb38 - \ubc94\uc704\ub97c \ud45c\uc2dc\ud558\ub294 CLI \uc5f4\uac70\ud615\nref class XDCMake {\npublic :\n &nbsp;enum class _xdc {\n &nbsp; &nbsp; UNDEFINED, OPTION_USAGE, XDC4_XML_LDFAIL = 4\n &nbsp;};\n \n &nbsp;XDCMake()\n &nbsp;{ \/\/ \uba85\uc2dc\uc801 \uc815\uaddc\ud654 \ud544\uc694...\n &nbsp; &nbsp;opList-&gt;Add( _xdc::UNDEFINED); &nbsp; &nbsp; &nbsp; &nbsp; \/\/(1)\n &nbsp; &nbsp;opList-&gt;Add( _xdc::OPTION_USAGE); &nbsp; &nbsp; &nbsp;\/\/(2)\n &nbsp; &nbsp;itagList-&gt;Add( _xdc::XDC4_XML_LDFAIL); \/\/(3)\n &nbsp;}\n};<\/PRE><\/LI><\/UL>\n<H4>8. \uace0\uc815 \ud3ec\uc778\ud130<\/H4>\n<P>\uac00\ube44\uc9c0 \uc218\uc9d1\uae30\ub294 \uc555\ucd95 \ub2e8\uacc4 \ub3d9\uc548 CLI \ud799\uc5d0 \uc0c1\uc8fc\ud558\ub294 \uac1c\uccb4\ub97c \ud799 \ub0b4\uc758 \ub2e4\ub978 \uc704\uce58\ub85c \uc120\ud0dd\uc801\uc73c\ub85c \uc774\ub3d9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \uac1c\uccb4\ub97c \uc774\ub3d9\ud574\ub3c4 \ucd94\uc801 \ud578\ub4e4, \ucd94\uc801 \ucc38\uc870 \ubc0f \ub0b4\ubd80 \ud3ec\uc778\ud130\uc5d0\ub294 \ubb38\uc81c\uac00 \ub418\uc9c0 \uc54a\uc73c\uba70, \uc774\ub97c \ud1b5\ud574 \uc774\ub7ec\ud55c \uc5d4\ud130\ud2f0\ub97c \uc190\uc27d\uac8c \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc0ac\uc6a9\uc790\uac00 \ub7f0\ud0c0\uc784 \ud658\uacbd \uc678\ubd80\uc758 \uc8fc\uc18c\ub97c \uc804\ub2ec\ud55c \uacbd\uc6b0\uc5d0\ub294 \ubb38\uc81c\uac00 \ub429\ub2c8\ub2e4. \uc774 \uacbd\uc6b0\uc5d0\ub294 \uac1c\uccb4\uc758 \uc77c\uc2dc\uc801\uc778 \uc774\ub3d9\uc774 \ub7f0\ud0c0\uc784 \uc624\ub958\ub97c \uc77c\uc73c\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uac1c\uccb4\uac00 \uc774\ub3d9\ud558\uc9c0 \uc54a\ub3c4\ub85d \ud558\ub824\uba74 \uc678\ubd80 \uc0ac\uc6a9\uc758 \ubc94\uc704\uc5d0 \ub300\ud574 \uc774\ub4e4\uc758 \uc704\uce58\ub97c \ub85c\uceec\uc5d0\uc11c \uace0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. <\/P>\n<P>V1\uc5d0\uc11c\ub294 <B>__pin<\/B> \ud0a4\uc6cc\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud3ec\uc778\ud130 \uc120\uc5b8\uc744 \uc815\uaddc\ud654\ud568\uc73c\ub85c\uc368 \uace0\uc815 \ud3ec\uc778\ud130\ub97c \uc120\uc5b8\ud588\uc2b5\ub2c8\ub2e4. V2\uc5d0\uc11c\ub294 \uc758\uc0ac \ud15c\ud50c\ub9bf \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\uc5ec \uace0\uc815 \ud3ec\uc778\ud130\ub97c \uc120\uc5b8\ud569\ub2c8\ub2e4. \uace0\uc815 \ud3ec\uc778\ud130\uc758 \uc6d0\ub798 \uc81c\uc57d \uc870\uac74\uc740 \uadf8\ub300\ub85c \uc720\uc9c0\ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uace0\uc815 \ud3ec\uc778\ud130\ub97c \uba54\uc11c\ub4dc\uc758 \ub9e4\uac1c \ubcc0\uc218\ub098 \ubc18\ud658 \ud615\uc2dd\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ub300\uc2e0 \ub85c\uceec \uac1c\uccb4\uc5d0\uc11c\ub9cc \uc120\uc5b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. V2\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uba87 \uac00\uc9c0 \uc81c\uc57d \uc870\uac74\uc774 \ub354 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <\/P>\n<OL>\n<LI>\n<P>\uace0\uc815 \ud3ec\uc778\ud130\uc758 \uae30\ubcf8\uac12\uc740 <B>0<\/B>\uc774 \uc544\ub2c8\ub77c <B>nullptr<\/B>\uc785\ub2c8\ub2e4. <B>pin_ptr&lt;&gt;<\/B>\uc744 \ucd08\uae30\ud654\ud558\uac70\ub098 <B>0<\/B>\uc744 \ud560\ub2f9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. <B>0<\/B>\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \ud560\ub2f9 \ubc0f \uba85\uc2dc\uc801 \ube44\uad50\ub294 <B>nullptr<\/B>\ub85c \ubcc0\uacbd\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub294 \ubaa8\ub4e0 \ucc38\uc870 \ud615\uc2dd\uc5d0 \uc801\uc6a9\ub429\ub2c8\ub2e4. <\/P>\n<LI>\n<P>V1\uc5d0\uc11c\ub294 \uace0\uc815 \ud3ec\uc778\ud130\uac00 \uc804\uccb4 \uac1c\uccb4\uc5d0 \uc801\uc6a9\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 V2\uc5d0\uc11c\ub294 \uc804\uccb4 \uac1c\uccb4 \uace0\uc815\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub300\uc2e0 \ub0b4\ubd80 \uba64\ubc84\uc758 \uc8fc\uc18c\ub9cc \uace0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V1 \uad6c\ubb38\n__gc struct H { int j; };\n__gc class G { ... };\nvoid f( G * g ) \n &nbsp; &nbsp; &nbsp;{\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\/\/ V1: \uc804\uccb4 \uac1c\uccb4 \uace0\uc815\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;H __pin * pH = new H; &nbsp; \n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;g-&gt;incr(&amp; pH -&gt; j); &nbsp; \n &nbsp; &nbsp; &nbsp;};<\/PRE><\/LI><\/OL>\n<P>\uc774 \uacbd\uc6b0 \uc2e4\uc81c\ub85c \uace0\uc815\ud574\uc57c \ud558\ub294 \uba64\ubc84\ub294 <B>H::j<\/B>\uc785\ub2c8\ub2e4. V2\uc5d0\uc11c \ud504\ub85c\uadf8\ub7a8\uc774 \ucef4\ud30c\uc77c\ub418\ub3c4\ub85d \uc218\uc815\ud55c \uac83\uc740 \uace0\uc815 \uc18c\uc2a4\uc758 \ub300\uc0c1\uc744 \ud574\ub2f9 \uba64\ubc84\ub85c \ub2e4\uc2dc \uc9c0\uc815\ud558\uae30 \uc704\ud568\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V2 \uad6c\ubb38\nref struct H { int j; };\nref class G{ ... };\nvoid f( G^ g )\n{\n &nbsp; H ^ph = gcnew H;\n &nbsp; \/\/ V2: \ub0b4\ubd80 \uba64\ubc84 \uace0\uc815...\n &nbsp; pin_ptr&lt;int&gt; pj = &amp;ph-&gt;j;\n &nbsp; g-&gt;incr( &nbsp;pj );\n}<\/PRE>\n<H4>9. Static Const \uba64\ubc84\uac00 \ub9ac\ud130\ub7f4\uc774 \ub428<\/H4>\n<P>V2\uc5d0\uc11c\ub3c4 <B>static<\/B>&nbsp;<B>const<\/B> \uc815\uc218 \uacc4\uc5f4 \uba64\ubc84\uac00 \uacc4\uc18d \uc9c0\uc6d0\ub418\uae30\ub294 \ud558\uc9c0\ub9cc \uc5f0\uacb0 \ud2b9\uc131\uc774 V1\uc5d0\uc11c\uc640\ub294 \ub2ec\ub9ac \ubcc0\uacbd\ub418\uc5c8\uc2b5\ub2c8\ub2e4. V1 \uc5f0\uacb0 \ud2b9\uc131\uc740 \uc774\uc81c V2\uc5d0\uc11c <B>literal<\/B> \uc815\uc218 \uacc4\uc5f4 \uba64\ubc84\uc5d0\uc11c \uc804\ub2ec\ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 V1\uc5d0\uc11c \ub2e4\uc74c \ud074\ub798\uc2a4\uac00 \uc120\uc5b8\ub41c\ub2e4\uace0 \uac00\uc815\ud574 \ubd05\uc2dc\ub2e4.<\/P><PRE>\/\/ V1 \uad6c\ubb38\npublic __gc class Constants {\npublic :\nstatic const int LOG_DEBUG = 4;\n\/\/ ...\n};<\/PRE>\n<P>\uc774 \uc120\uc5b8\uc740 \ud544\ub4dc\uc5d0 \ub300\ud574 \ub2e4\uc74c\uacfc \uac19\uc740 \uae30\ubcf8 <B>CIL<\/B> \ud2b9\uc131\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \ub9ac\ud130\ub7f4 \ud2b9\uc131\uc740 \uad75\uac8c \ud45c\uc2dc\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/P><PRE>.field public static literal int32 \nmodopt([Microsoft.VisualC]Microsoft.VisualC.IsConstModifier) STANDARD_CLIENT_PRX = int32(0x00000004)<\/PRE>\n<P>\uc774\ub294 V2\uc5d0\uc11c \ub2e4\uc74c\uacfc \uac19\uc774 \ucef4\ud30c\uc77c\ub429\ub2c8\ub2e4.<\/P><PRE>\/\/ V2 \uad6c\ubb38\npublic ref class Constants {\npublic :\nstatic const int LOG_DEBUG = 4;\n\/\/ ...\n};<\/PRE>\n<P>\ub354 \uc774\uc0c1 <B>literal<\/B> \ud2b9\uc131\uc744 \ub0b4\ubcf4\ub0b4\uc9c0 \uc54a\uc73c\ubbc0\ub85c CLI \ub7f0\ud0c0\uc784\uc5d0\uc11c \uc0c1\uc218\ub85c \ud45c\uc2dc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/P><PRE>.field public static int32 modopt([Microsoft.VisualC]Microsoft.VisualC.IsConstModifier) STANDARD_CLIENT_PRX = int32(0x00000004)<\/PRE>\n<P>\ub3d9\uc77c\ud55c \uc5b8\uc5b4 \uac04 \ub9ac\ud130\ub7f4 \ud2b9\uc131\uc744 \uc5bb\uc73c\ub824\uba74 \uc774 \uc120\uc5b8\uc744 \uc0c8\ub86d\uac8c \uc9c0\uc6d0\ub418\ub294 <B>literal<\/B> \ub370\uc774\ud130 \uba64\ubc84\ub85c \ubcc0\uacbd\ud574\uc57c \ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V2 \uad6c\ubb38\npublic ref class Constants {\npublic :\nliteral int LOG_DEBUG = 4;\n\/\/ ...\n};<\/PRE>\n<P>\uc774\ub7ec\ud55c \ubcc0\uacbd \uc0ac\ud56d\uc740 \uc815\uc218 \uacc4\uc5f4 \ud615\uc2dd\uc758 <B>static const<\/B> \uba64\ubc84\uc5d0\ub9cc \uc801\uc6a9\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. \ub2e4\ub978 \ubaa8\ub4e0 \ud615\uc2dd\uc740 \uc774\uc804\uacfc \ub3d9\uc77c\ud569\ub2c8\ub2e4. <\/P>\n<DIV><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#mainSection\" target=\"_blank\" rel=\"noopener\"><IMG style=\"CURSOR: pointer\" id=userImg1984776 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.arrow_px_up(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(1984776)\",200)'><FONT color=#0033cc> <\/FONT><\/A><a class=\"con_link\" href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/ms379556.aspx#mainSection\" target=\"_blank\" rel=\"noopener\"><FONT color=#0033cc>\ud654\uba74 \ub9e8 \uc704\ub85c<\/FONT><\/A> <br \/><\/DIV>\n<H3 id=EGLAC>V1\uacfc V2 \uac04\uc5d0 \uc815\ud655\ud788 \ub300\uc751\ud558\uc9c0\ub294 \uc54a\ub294 \ubcc0\uacbd \uc0ac\ud56d<\/H3>\n<P>\uc624\ub7ab\ub3d9\uc548 C++\ub97c \ub514\uc790\uc778\ud574 \uc624\uba74\uc11c Bjarne Stroustrup\uc740 \uba87 \uac00\uc9c0 \uc2e4\uc218\ub97c \ubc94\ud588\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uadf8\ub3c4 \uc778\uc815\ud558\ub294 \uc0ac\uc2e4\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uc774 \uc5b8\uc5b4\uc758 \ucd08\uae30 \ubc84\uc804\uc5d0\uc11c\ub294 \uc0dd\uc131\uc790 \ub0b4\uc5d0\uc11c \uac00\uc0c1 \ud568\uc218\ub97c \ud638\ucd9c\ud558\uba74 \uc778\uc2a4\ud134\uc2a4\uac00 \uac00\uc7a5 \ub9ce\uc774 \ud30c\uc0dd\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc2dc\uac04\uc774 \uc9c0\ub0a8\uc5d0 \ub530\ub77c \uc774\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \uc798\ubabb\ub41c \ub3d9\uc791\uc774\uc5c8\uc74c\uc774 \uba85\ubc31\ud574\uc84c\uae30 \ub54c\ubb38\uc5d0 \uc774 \ub3d9\uc791\uc744 1980\ub144\ub300 cfront\uc758 \ub9b4\ub9ac\uc2a4 1.2\ub85c \ub2e4\uc2dc \ubc14\uafe8\uc2b5\ub2c8\ub2e4. \uc6b0\ub9ac\ub3c4 \uba87 \uac00\uc9c0 \uc2e4\uc218\ub97c \ubc94\ud588\uc2b5\ub2c8\ub2e4. \uc5b4\uca4c\uba74 \uc9c0\uae08\ub3c4 \ubc94\ud558\uace0 \uc788\ub294 \uc911\uc77c\uc9c0\ub3c4 \ubaa8\ub985\ub2c8\ub2e4. \ubb3c\ub860 \uc774 \uc5b8\uc5b4\uc5d0\uc11c\ub9cc \uc774\ub7ec\ud55c \uc2e4\uc218\uac00 \uc788\uc5c8\ub358 \uac83\uc740 \uc544\ub2c8\uc9c0\ub9cc \ud604\uc7ac\ub294 \uc774 \uc5b8\uc5b4\uc5d0 \ub300\ud574\uc11c\ub9cc \ub17c\uc758\ud558\ub294 \uc911\uc774\ubbc0\ub85c \ub2e4\ub978 \uc5b8\uc5b4\uc758 \uc798\ubabb\ub41c \uc810\uc740 \uad73\uc774 \ub4e4\ucd94\uc9c0 \uc54a\uaca0\uc2b5\ub2c8\ub2e4. \uc0c8\ub85c\uc6b4 \uc7ac\uc815\uc758 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\ub294 13\ubc88 \ud56d\ubaa9\uc744 \uc81c\uc678\ud558\uba74 \uc774 \uae30\uc0ac\uc758 \ud56d\ubaa9\ub4e4\uc740 V1\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 \uac83\uc744 \ubb34\ud6a8\ud654\ud55c \ucde8\uc18c \ub0b4\uc6a9\uc785\ub2c8\ub2e4.<\/P>\n<H4>10. \uc0dd\uc131\uc790\uac00 \uc554\uc2dc\uc801\uc73c\ub85c \uba85\uc2dc\ub428<\/H4>\n<P>V1\uc5d0\uc11c\ub294 \ub2e8\uc77c \uc778\uc218 \uc0dd\uc131\uc790\uac00 \ud074\ub798\uc2a4 \uac1c\uccb4\uc758 \ubcc0\ud658\uc744 \ub450 \ubc88\uc9f8 \ud615\uc2dd\uc758 \uac1c\uccb4\ub85c \uc815\uc758\ud569\ub2c8\ub2e4. \ud074\ub798\uc2a4\uc758 \uac1c\uccb4\uac00 \ud544\uc694\ud55c \uacbd\uc6b0 \uc81c\uacf5\ub418\ub294 \uac12\uc774 \ud574\ub2f9 \ud074\ub798\uc2a4\uc758 \ub2e8\uc77c \uc778\uc218 \uc0dd\uc131\uc790\uc640 \uc77c\uce58\ud558\ub294 \ud615\uc2dd\uc774\uba74 \ucef4\ud30c\uc77c\ub7ec\ub294 \uc0dd\uc131\uc790\ub97c \uc790\ub3d9\uc73c\ub85c \ud638\ucd9c\ud558\uc5ec \ud574\ub2f9 \ud074\ub798\uc2a4\uc758 \uc784\uc2dc \uac1c\uccb4\ub97c \ub9cc\ub4e0 \ub2e4\uc74c \uc774\ub97c \uc2dd\uc5d0 \uc801\uc6a9\ud569\ub2c8\ub2e4. \uc774\ub294 \ucd08\uae30\ud654, \ud560\ub2f9, \ud568\uc218 \ubc0f \uc5f0\uc0b0\uc790 \uc624\ubc84\ub85c\ub4dc \ud655\uc778\uc5d0 \uc601\ud5a5\uc744 \uc90d\ub2c8\ub2e4. V2\uc5d0\uc11c\ub294 \ub2e8\uc77c \uc778\uc218 \uc0dd\uc131\uc790\uac00 \ub9c8\uce58 \uba85\uc2dc\uc801\uc73c\ub85c \uc120\uc5b8\ub41c \uac83\ucc98\ub7fc \uc791\ub3d9\ud569\ub2c8\ub2e4. \uc989, \ud544\uc694\ud55c \ubcc0\ud658\uc744 \uc218\ud589\ud558\uae30 \uc704\ud574 \ucef4\ud30c\uc77c\ub7ec\uac00 \uc0dd\uc131\uc790\ub97c \uc790\ub3d9\uc73c\ub85c \uc801\uc6a9\ud558\ub294 \uacbd\uc6b0\ub294 \uc808\ub300 \uc5c6\uc2b5\ub2c8\ub2e4. \ub354\uad6c\ub098 V2\uc5d0\uc11c\ub294 \uc0dd\uc131 \uce90\uc2a4\ud2b8\uc640 \ubcc0\ud658 \uce90\uc2a4\ud2b8 \uc0ac\uc774\uc5d0 \ucc28\uc774\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc740 \ud615\uc2dd\uc758 \uc0dd\uc131 \uce90\uc2a4\ud2b8\uac00 \uc788\ub2e4\uace0 \uac00\uc815\ud574 \ubd05\uc2dc\ub2e4.<\/P><PRE>\/\/ \uc0dd\uc131 \uce90\uc2a4\ud2b8... \uc0dd\uc131\uc790 \ud638\ucd9c...\nBuffer( 128 );<\/PRE>\n<P>\uc774 \uc0dd\uc131 \uce90\uc2a4\ud2b8\ub294 V1\uc5d0\uc11c\uc640 \uac19\uc774 \uad00\ub828 \ud074\ub798\uc2a4 \uc0dd\uc131\uc790\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \ub2e4\uc74c\uacfc \uac19\uc740 \ud615\uc2dd\uc758 \ubcc0\ud658 \uce90\uc2a4\ud2b8\ub294 \ub2e4\ub985\ub2c8\ub2e4.<\/P><PRE>\/\/ \ubcc0\ud658 \uce90\uc2a4\ud2b8... \uc774\uc5d0 \ub300\ud574 \uc0dd\uc131\uc790\uac00 \uc808\ub300\ub85c \ud638\ucd9c\ub418\uc9c0 \uc54a\uc74c\n( Buffer ) 128;\n( Buffer )( 128 );\nstatic_cast&lt; Buffer &gt;( 128 );<\/PRE>\n<P>\uc774 \ubcc0\ud658 \uce90\uc2a4\ud2b8\ub294 \uc808\ub300 \uad00\ub828 \uc0dd\uc131\uc790\ub97c \ud638\ucd9c\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubcc0\ud658 \uce90\uc2a4\ud2b8\ub294 \ud074\ub798\uc2a4\uac00 \uc801\uc808\ud55c \ubcc0\ud658 \uc5f0\uc0b0\uc790\ub97c \uc815\uc758\ud558\ub294 \uacbd\uc6b0\uc5d0\ub9cc \uc131\uacf5\ud569\ub2c8\ub2e4.<\/P>\n<P>V2 \ub3d9\uc791\uc744 \uc218\ud589\ud558\ub3c4\ub85d V1 \ucf54\ub4dc\ub97c \ubcc0\ud658\ud558\ub824\uba74 \uba85\uc2dc\uc801\uc778 \uce90\uc2a4\ud2b8\ub97c \uc0bd\uc785\ud574\uc57c \ud560 \ubfd0\ub9cc \uc544\ub2c8\ub77c \uc801\uc808\ud55c \ubcc0\ud658 \uc5f0\uc0b0\uc790\ub3c4 \uc815\uc758\ud574\uc57c \ud569\ub2c8\ub2e4. <\/P>\n<H4>11. \uac12 \ud074\ub798\uc2a4 \uae30\ubcf8 \uc0dd\uc131\uc790 \uc5c6\uc74c<\/H4>\n<P>V1\uacfc V2\uc5d0\uc11c \ubaa8\ub450 \uac12 \ud074\ub798\uc2a4\ub294 \ubcf5\uc0ac \uc0dd\uc131\uc790, \ubcf5\uc0ac \ud560\ub2f9 \uc5f0\uc0b0\uc790, \uc18c\uba78\uc790 \ub4f1\uc758 \ud2b9\uc218 SMF(\ud074\ub798\uc2a4 \uba64\ubc84 \ud568\uc218)\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 V1\uc5d0\uc11c\ub294 \uac12 \ud074\ub798\uc2a4\uac00 \uae30\ubcf8 \uc0dd\uc131\uc790, \uc989 \uc544\ubb34\ub7f0 \uc778\uc218\uac00 \uc5c6\ub294 \uc0dd\uc131\uc790\uc758 \uc815\uc758\ub97c \ud5c8\uc6a9\ud588\uc2b5\ub2c8\ub2e4. V2\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c \uad8c\ud55c\uc774 \uc5c6\uc5b4\uc84c\uc2b5\ub2c8\ub2e4. \uac12 \ud074\ub798\uc2a4\ub294 \ub354 \uc774\uc0c1 \uae30\ubcf8 \uc0dd\uc131\uc790\ub97c \uc81c\uacf5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/P>\n<P>\ub7f0\ud0c0\uc784 \uc2dc \uad00\ub828 \uae30\ubcf8 \uc0dd\uc131\uc790\uc758 \ud638\ucd9c\uc744 \ubcf4\uc7a5\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0\uac00 \uc788\ub2e4\ub294 \ubb38\uc81c\uac00 \uc788\uc5c8\uc73c\ubbc0\ub85c, \ud574\ub2f9 \uae30\ub2a5\uc774 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uc81c\ub300\ub85c \uc791\ub3d9\ud568\uc744 \ubcf4\uc7a5\ud560 \uc218 \uc5c6\ub294 \uc774\ub7f0 \uc0c1\ud669\uc5d0\uc11c\ub294 \ucc28\ub77c\ub9ac \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \uac83\uc774 \ub0ab\ub2e4\uace0 \ud310\ub2e8\ud55c \uac83\uc785\ub2c8\ub2e4.<\/P>\n<P>\uc77c\ubc18\uc801\uc73c\ub85c \uac12 \ud074\ub798\uc2a4\ub97c \uc81c\ud55c\ub41c \ubc29\uc2dd\uc73c\ub85c \uc0ac\uc6a9\ud558\uba74 \uc774\ub7ec\ud55c \ud2b9\uc218 \uba64\ubc84 \ud568\uc218\uac00 \uc5c6\uc5b4\ub3c4 \ubb38\uc81c\uac00 \ub418\uc9c0\ub294 \uc54a\uc2b5\ub2c8\ub2e4. \uc81c\ud55c\ub41c \ubc29\uc2dd\uc774\ub780 \ube44\ud2b8 \ub2e8\uc704\uc758 \ubcf5\uc0ac\ub97c \uc9c0\uc6d0\ud558\ub3c4\ub85d \uac12 \uba64\ubc84\ub9cc \ud3ec\ud568\ud560 \uc218 \uc788\uac8c \ud558\ub294 \uacbd\uc6b0\ub97c \ub73b\ud569\ub2c8\ub2e4. \uc9d1\uacc4 \uc720\ud615\uc774 \ube44\ud2b8 \ub2e8\uc704 \ubcf5\uc0ac\ub97c \uc9c0\uc6d0\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \ubcf5\uc0ac \uc0dd\uc131\uc790\ub098 \ubcf5\uc0ac \uc5f0\uc0b0\uc790\uac00 \ud544\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub9c8\ucc2c\uac00\uc9c0\ub85c \uc9d1\uacc4 \uc720\ud615\uc758 \uc0c1\ud0dc\uac00 \uac12 \uc758\ubbf8\ub97c \ud45c\uc2dc\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \uc18c\uba78\uc790\uac00 \uc5c6\uc5b4\ub3c4 \ub429\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc73c\ub85c \ub7f0\ud0c0\uc784\uc740 \ubaa8\ub4e0 \uc0c1\ud0dc\ub97c \uae30\ubcf8\uc801\uc73c\ub85c 0\uc73c\ub85c \ucc98\ub9ac\ud558\ubbc0\ub85c \uae30\ubcf8 \uc0dd\uc131\uc790\uac00 \ud544\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. C++\uc5d0\uc11c \uae30\ubcf8 \ub370\uc774\ud130 \ud615\uc2dd\uc740 \uc790\ub3d9\uc73c\ub85c 0\uc73c\ub85c \ucc98\ub9ac\ub418\uc9c0 \uc54a\uc73c\ubbc0\ub85c \ub300\ubd80\ubd84(\uc804\ubd80\ub294 \uc544\ub2d8)\uc758 \uae30\ubcf8 \uc0dd\uc131\uc790\ub294 \uac1c\uccb4\ub97c \ucd08\uae30\ud654\ub418\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\ub85c \ub9cc\ub4dc\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/P>\n<P>\ubb3c\ub860 \ubb38\uc81c\ub294 V1 \uac12 \ud074\ub798\uc2a4\uac00 \uae30\ubcf8 \uc0dd\uc131\uc790\ub97c \uc0ac\uc6a9\ud558\uc5ec 0\uc73c\ub85c \ucc98\ub9ac\ub418\uc9c0 \uc54a\ub294 \uc5f0\uc0b0\uc744 \uc218\ud589\ud558\ub294 \uacbd\uc6b0\uc785\ub2c8\ub2e4. \uc774 \uacbd\uc6b0\uc5d0\ub294 \uc0dd\uc131\uc790 \ub0b4\uc758 \ucf54\ub4dc\uac00 \uba85\uba85\ub41c \ucd08\uae30\ud654 \ud568\uc218\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. \ubb3c\ub860 \uc774 \uba54\uc11c\ub4dc\ub294 \ud504\ub85c\uadf8\ub798\uba38\uac00 \uba85\uc2dc\uc801\uc73c\ub85c \ud638\ucd9c\ud574\uc57c \ud558\uae30 \ub54c\ubb38\uc5d0 \uc624\ub958\uac00 \ubc1c\uc0dd\ud560 \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. <\/P>\n<H4>12. \uac1c\uc778 \uac00\uc0c1 \ud568\uc218\uc758 \uc7ac\uc815\uc758<\/H4>\n<P>V1\uc5d0\uc11c\ub294 \uac00\uc0c1 \ud568\uc218\uc758 \uc561\uc138\uc2a4 \uc218\uc900\uc73c\ub85c \uc778\ud574 \ud30c\uc0dd \ud074\ub798\uc2a4 \ub0b4\uc5d0\uc11c \uc7ac\uc815\uc758\ub418\ub294 \ud574\ub2f9 \uae30\ub2a5\uc774 \uc81c\ud55c\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. ISO-C++\uc5d0\uc11c\ub3c4 \ub9c8\ucc2c\uac00\uc9c0\uc785\ub2c8\ub2e4. V2\uc5d0\uc11c \uac00\uc0c1 \ud568\uc218\ub294 \uc9c1\uc811 \uc561\uc138\uc2a4\ud560 \uc218 \uc5c6\ub294 \uae30\ubcf8 \ud074\ub798\uc2a4 \uac00\uc0c1 \ud568\uc218\ub97c \uc7ac\uc815\uc758\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>__gc class My {\nprivate :\n &nbsp; virtual void g();\/\/ \ud30c\uc0dd \ud074\ub798\uc2a4\uc5d0 \uc561\uc138\uc2a4 \ubd88\uac00\ub2a5\n};\n__gc class File : public My {\npublic :\n &nbsp; \/\/ V1\uc5d0\uc11c\ub294 \uac00\ub2a5 g() overrides My::g()\n &nbsp; \/\/ V2\uc5d0\uc11c\ub294 \uc624\ub958. \uc7ac\uc815\uc758 \ubd88\uac00: My::g()inaccessible ...\n &nbsp; void g();\n};<\/PRE>\n<P>V2\uc5d0\uc11c \uac00\uc7a5 \ud655\uc2e4\ud55c \ud574\uacb0\ucc45\uc740 \uac1c\uc778 \uae30\ubcf8 \ud074\ub798\uc2a4 \uba64\ubc84\ub97c \uac1c\uc778 \uc0c1\ud0dc\uac00 \uc544\ub2cc \uac83\uc73c\ub85c \ub9cc\ub4dc\ub294 \uac83\uc785\ub2c8\ub2e4. \uc0c1\uc18d\ub41c \uba54\uc11c\ub4dc\ub294 \ub3d9\uc77c\ud55c \uc561\uc138\uc2a4 \uad8c\ud55c\uc744 \uac00\uc9c8 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \ub2e8\uc9c0 \uc561\uc138\uc2a4\uac00 \uac00\ub2a5\ud558\uba74 \ub418\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774 \uc608\uc81c\uc5d0\uc11c \ud63c\ub780\uc744 \ucd5c\uc18c\ud654\ud558\ub294 \ubcc0\uacbd \uc0ac\ud56d\uc740 <B>My<\/B> \uba64\ubc84\ub97c \ubcf4\ud638\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ubc29\uc2dd\uc73c\ub85c <B>My<\/B>\ub97c \ud1b5\ud55c \uc77c\ubc18 \ud504\ub85c\uadf8\ub7a8\uc758 \uba54\uc11c\ub4dc \uc561\uc138\uc2a4\ub294 \uc5ec\uc804\ud788 \uae08\uc9c0\ub429\ub2c8\ub2e4.<\/P><PRE>ref class My {\nprotected:\n &nbsp; &nbsp; &nbsp;virtual void g();\n};\nref class File : My {\npublic :\n &nbsp; &nbsp; void g();\n};<\/PRE>\n<P>\uc218\uc815\ub41c \uc5b8\uc5b4\uc5d0\uc11c\ub294 \uae30\ubcf8 \ud074\ub798\uc2a4\uc5d0 \uba85\uc2dc\uc801 <B>virtual<\/B> \ud0a4\uc6cc\ub4dc\uac00 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uacbd\uace0 \uba54\uc2dc\uc9c0\uac00 \ub098\ud0c0\ub0a9\ub2c8\ub2e4. \uac00\uc0c1 \ud2b9\uc131\uc744 \uba85\uc2dc\uc801\uc73c\ub85c \uc9c0\uc815\ud558\ub294 \ucc45\uc784\uac10 \uc788\ub294 \ud504\ub85c\uadf8\ub798\uba38\uac00 \ub420 \ub54c\uae4c\uc9c0\ub294 \uacbd\uace0 \uba54\uc2dc\uc9c0\ub97c \uc9c0\uacb9\ub3c4\ub85d \ubcf4\uac8c \ub420 \uac83\uc785\ub2c8\ub2e4.<\/P>\n<H4>13. \uba85\uc2dc\uc801 \uc778\ud130\ud398\uc774\uc2a4 \ud568\uc218 \uc7ac\uc815\uc758<\/H4>\n<P>\uc778\ud130\ud398\uc774\uc2a4\ub97c \uad6c\ud604\ud558\ub294 \ud074\ub798\uc2a4 \ub0b4\uc5d0\uc11c\ub294 \uc778\ud130\ud398\uc774\uc2a4 \uba64\ubc84\uc758 \ub450 \uc778\uc2a4\ud134\uc2a4\ub97c \uc81c\uacf5\ud558\ub294 \uac83\uc774 \uc88b\uc740 \uacbd\uc6b0\uac00 \ub9ce\uc2b5\ub2c8\ub2e4. \ub450 \uc778\uc2a4\ud134\uc2a4 \uc911 \ud558\ub098\ub294 \uc778\ud130\ud398\uc774\uc2a4 \ud578\ub4e4\uc744 \ud1b5\ud574 \ud074\ub798\uc2a4 \uac1c\uccb4\ub97c \uc870\uc815\ud560 \ub54c \uc0ac\uc6a9\ub418\uba70, \ub2e4\ub978 \ud558\ub098\ub294 \ud074\ub798\uc2a4 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud1b5\ud574 \ud074\ub798\uc2a4 \uac1c\uccb4\ub97c \uc0ac\uc6a9\ud560 \ub54c \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/P><PRE>\/\/ V1 \uad6c\ubb38\npublic __gc class R : public ICloneable \n{\n &nbsp; \/\/ Icloneable\uc744 \ud1b5\ud574 \uc0ac\uc6a9\n &nbsp; Object* ICloneable::Clone();\n \n &nbsp; \/\/ R\uc744 \ud1b5\ud574 \uc0ac\uc6a9\n &nbsp; R* Clone();\n};<\/PRE>\n<P>V1\uc5d0\uc11c\ub294 \uc778\ud130\ud398\uc774\uc2a4 \uba54\uc11c\ub4dc\uc758 \uba85\uc2dc\uc801 \uc120\uc5b8\uc5d0 \uc778\ud130\ud398\uc774\uc2a4 \uc774\ub984\uc73c\ub85c \uc815\uaddc\ud654\ub41c \uba54\uc11c\ub4dc \uc774\ub984\uc744 \uc81c\uacf5\ud568\uc73c\ub85c\uc368 \uc774\ub7ec\ud55c \uc791\uc5c5\uc744 \uc218\ud589\ud569\ub2c8\ub2e4. \ud074\ub798\uc2a4 \uace0\uc720\uc758 \uc778\uc2a4\ud134\uc2a4\ub294 \ube44\uc815\uaddc\ud654 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. \uc774\ub85c \uc778\ud574 <B>Clone()<\/B>\uc758 \ubc18\ud658 \uac12\uc744 downcast\ud558\uc9c0 \uc54a\uc544\ub3c4 \ub429\ub2c8\ub2e4. \uc774 \uc608\uc81c\uc5d0\uc11c\ub294 <B>R<\/B>\uc758 \uc778\uc2a4\ud134\uc2a4\ub97c \ud1b5\ud574 \uba85\uc2dc\uc801\uc73c\ub85c \ud638\ucd9c\ub420 \ub54c\uc785\ub2c8\ub2e4.<\/P>\n<P>V2\uc5d0\uc11c\ub294 \uc774\uc804 \uad6c\ubb38\uc744 \ub300\uccb4\ud558\ub294 \uc77c\ubc18\uc801\uc778 \uc7ac\uc815\uc758 \uba54\ucee4\ub2c8\uc998\uc774 \ub3c4\uc785\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc608\uc81c\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ub2e4\uc2dc \uc791\uc131\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/P><PRE>\/\/ V2 \uad6c\ubb38\npublic ref class R : public ICloneable \n{\n &nbsp; \/\/ ICloneable\uc744 \ud1b5\ud574 \uc0ac\uc6a9\n &nbsp; Object^ InterfaceClone() = ICloneable::Clone;\n &nbsp; \/\/ R\uc744 \ud1b5\ud574 \uc0ac\uc6a9\n &nbsp; virtual R^ Clone() new;\n};<\/PRE>\n<P>\uc774 \uc218\uc815 \ub0b4\uc6a9\uc740 \uba85\uc2dc\uc801\uc73c\ub85c \uc7ac\uc815\uc758\ub418\ub294 \uc778\ud130\ud398\uc774\uc2a4 \uba64\ubc84\uac00 \ud074\ub798\uc2a4 \ub0b4\uc5d0\uc11c \uace0\uc720\ud55c \uc774\ub984\uc744 \uac00\uc9c0\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc5ec\uae30\uc11c\ub294 <B>InterfaceClone()<\/B>\uc774\ub77c\ub294 \uc880 \uc774\uc0c1\ud55c \uc774\ub984\uc744 \uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4. \ub3d9\uc791\uc740 \uacc4\uc18d \uadf8\ub300\ub85c\uc785\ub2c8\ub2e4. \uc989, <B>ICloneable<\/B> \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud1b5\ud55c \ud638\ucd9c\uc774 \uc774\ub984\uc774 \ubc14\ub010 <B>InterfaceClone()<\/B>\uc744 \ud638\ucd9c\ud558\uace0, <B>R<\/B> \ud615\uc2dd\uc758 \uac1c\uccb4\ub97c \ud1b5\ud55c \ud638\ucd9c\uc740 \ub450 \ubc88\uc9f8 <B>Clone()<\/B> \uc778\uc2a4\ud134\uc2a4\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4. <\/P>\n<H4>\uad00\ub828 \uc11c\uc801<\/H4>\n<P><a id=\"ctl00_rs1_mainContentContainer_ctl02\" class=\"con_link\" href=\"http:\/\/shopping.msn.com\/search\/detail.aspx?pcId=12232&amp;prodId=321868&amp;ptnrid=141&amp;ptnrdata=0\" target=\"_blank\" rel=\"noopener\"><FONT color=#0033cc>STL Tutorial and Reference Guide<\/FONT><\/A>&nbsp; <IMG style=\"CURSOR: pointer\" id=userImg5070609 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.TOUS(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(5070609)\",200)'> , David Musser\/Gillmer Derge\/Atul Saini \uacf5\uc800, Addison-Wesley, 2001<\/P>\n<P><a id=\"ctl00_rs1_mainContentContainer_ctl03\" class=\"con_link\" href=\"http:\/\/shopping.msn.com\/search\/detail.aspx?pcId=12232&amp;prodId=321830&amp;ptnrid=141&amp;ptnrdata=0\" target=\"_blank\" rel=\"noopener\"><FONT color=#0033cc>C++ Standard Library<\/FONT><\/A> <IMG style=\"CURSOR: pointer\" id=userImg5951529 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.TOUS(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(5951529)\",200)'> , Nicolai Josuttis \uc800, Addison-Wesley, 1999 <\/P>\n<P><a id=\"ctl00_rs1_mainContentContainer_ctl04\" class=\"con_link\" href=\"http:\/\/shopping.msn.com\/search\/detail.aspx?pcId=12232&amp;prodId=297085&amp;ptnrid=141&amp;ptnrdata=0\" target=\"_blank\" rel=\"noopener\"><FONT color=#0033cc>C++ Primer<\/FONT><\/A> <IMG style=\"CURSOR: pointer\" id=userImg4977047 onclick=\"popview(this, '90000003_000000000000000DFC069586')\" src=\"http:\/\/i.msdn.microsoft.com\/ms379556.TOUS(ko-kr,VS.80).gif\" onload='setTimeout(\"resizeImage(4977047)\",200)'> , Stanley Lippman\/Josee Lajoie \uacf5\uc800, Addison-Wesley, 1998 <\/P>\n<H4>\uac10\uc0ac\uc758 \ub9d0<\/H4>\n<P>\uc774 \ubb38\uc81c\uc5d0 \ub300\ud574 \ub3c4\uc6c0\uc744 \uc8fc\uace0 \uc790\uc138\ud788 \uc124\uba85\ud574 \uc900 Visual C++ \ud300\uc6d0\ub4e4\uc5d0\uac8c \uac10\uc0ac\uc758 \ub9d0\uc744 \uc804\ud569\ub2c8\ub2e4. Arjun Bijanki, Artur Laksberg, Brandon Bray, Jonathan Caves, Siva Challa, Tanveer Gani, Mark Hall, Mahesh Hariharan, Jeff Peil, Andy Rich, Alvin Chardon, Herb Sutter\uc5d0\uac8c \uac10\uc0ac\ub4dc\ub9bd\ub2c8\ub2e4. \ubaa8\ub450 \uc801\uadf9\uc801\uc73c\ub85c \ub3c4\uc640 \uc8fc\uc154\uc11c \ud070 \ub3c4\uc6c0\uc774 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub4e4\uc758 \uc804\ubb38 \uc9c0\uc2dd\uc774 \uc5c6\uc5c8\ub2e4\uba74 \uc774 \ubb38\uc11c\ub97c \uc791\uc131\ud558\uc9c0 \ubabb\ud588\uc744 \uac83\uc785\ub2c8\ub2e4.<\/P>\n<H5>\uc800\uc790 \uc18c\uac1c <\/H5>\n<P><B>Stanley Lippman<\/B>\uc740 Microsoft Corporation\uc758 Visual C++ \uac1c\ubc1c\uc790\uc785\ub2c8\ub2e4. 1984\ub144 Bell Laboratories\uc5d0\uc11c C++\uc758 \ubc1c\uba85\uc790\uc778 Bjarne Stroustrup\uacfc \ud568\uaed8 \uc791\uc5c5\uc744 \uc2dc\uc791\ud588\uc2b5\ub2c8\ub2e4. Disney\uc640 DreamWorks\uc5d0\uc11c \uc560\ub2c8\uba54\uc774\uc158 \uc791\uc5c5\uc744 \ub2f4\ub2f9\ud588\uc73c\uba70 Fantasia 2000\uc758 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uae30\uc220 \ucc45\uc784\uc790\uc600\uc2b5\ub2c8\ub2e4. \n\n<\/DIV><\/DIV><\/DIV>\n","protected":false},"excerpt":{"rendered":"<p>13\uac00\uc9c0 \uc8fc\uc758 \uc0ac\ud56d: Visual C++ .NET \ud504\ub85c\uadf8\ub7a8\uc744 Visual Studio 2005\ub85c \uc774\uc2dd\ud558\uae30 \uc804\uc5d0 \uc54c\uc544\uc57c \ud560 13\uac00\uc9c0 \ub0b4\uc6a9 Stanley B. Lippman Microsoft Corporation \uc801\uc6a9 \ub300\uc0c1: &nbsp; &nbsp;Microsoft Visual C++ .NET &nbsp; &nbsp;Microsoft Visual C++ 2005 &nbsp; &nbsp;Microsoft Visual Studio 2005 &nbsp; &nbsp;Microsoft Visual Studio .NET \uc694\uc57d : \uac1c\ubc1c\uc790\uac00 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc744 Microsoft Visual Studio 2005\ub85c \uc774\uc2dd\ud560 \ub54c \uc8fc\uc758\ud574\uc57c [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[18],"tags":[],"class_list":["post-106","post","type-post","status-publish","format-standard","hentry","category-development_language"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=106"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/106\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}