¾àÇÑ ÂüÁ¶¸¦ »ç¿ëÇÏ¸é °¡ºñÁöÄ÷º¼ÇÈÄ¿¡ ÂüÁ¶°¡ »ç¶óÁø´Ù. µ¿±¸´ÔÀÇ »ùÇÃÄڵ带 ±×´ë·Î ÀοëÇÑ´Ù. ºñÁê¾ó½ºÆ©µð¿À C# ¸±¸®Áî ¸ðµå¿¡¼´Â Á¤»óÀûÀ¸·Î ½ÇÇà µÇÁö¸¸ µð¹ö±× ¸ðµå¿¡¼´Â Á¤»óÀûÀ¸·Î ½ÇÇàµÇÁö ¾Ê´Â´Ù. À¯´ÏƼ¿¡¼µµ Á¤»óÀûÀ¸·Î ½ÇÇà µÇÁö ¾Ê´Â´Ù. using System;
namespace ConsoleApplication1 { class Man { } class Test { public void Run() { TestStringReference(); TestWeakReference(); } // WeakReference Class¸¦ ÀÌ¿ëÇØ ¾àÇÑ ÂüÁ¶ Å×½ºÆ® // ÂüÁ¶ ÁßÀÎ °³Ã¼´Â nullÀÌµÊ private void TestWeakReference() { Man m = new Man(); WeakReference refMan = new WeakReference(m); //¾àÇÑÂüÁ¶ m = null; GC.Collect(); Console.WriteLine("¾àÇÑ ÂüÁ¶ ¿øº»: {0}", (m == null ? "Á×¾úÀ½" : "»ì¾ÒÀ½")); Console.WriteLine("¾àÇÑ ÂüÁ¶ ÂüÁ¶: {0}", (refMan.Target == null ? "Á×¾úÀ½" : "»ì¾ÒÀ½")); } // °ÇÑ ÂüÁ¶ Å×½ºÆ® // ÂüÁ¶ ÁßÀÎ °³Ã¼´Â nullÀÌ µÇÁö ¾ÊÀ½ private void TestStringReference() { Man m = new Man(); Man refMan = m; //°ÇÑ ÂüÁ¶ m = null; GC.Collect(); Console.WriteLine("°ÇÑ ÂüÁ¶ ¿øº»: {0}", (m == null ? "Á×¾úÀ½" : "»ì¾ÒÀ½")); Console.WriteLine("°ÇÑ ÂüÁ¶ ÂüÁ¶: {0}", (refMan == null ? "Á×¾úÀ½" : "»ì¾ÒÀ½")); } } class Program { static void Main(string[] args) { Test test = new Test(); test.Run(); //Console.ReadKey(); } } } ¸±¸®Áî ½ÇÇà °á°ú) Á¤»óÀûÀ¸·Î ¾àÇÑ ÂüÁ¶ ÂüÁ¶°¡ ¾ø´Ù. °ÇÑ ÂüÁ¶ ¿øº»: Á×¾úÀ½ °ÇÑ ÂüÁ¶ ÂüÁ¶: »ì¾ÒÀ½ ¾àÇÑ ÂüÁ¶ ¿øº»: Á×¾úÀ½ ¾àÇÑ ÂüÁ¶ ÂüÁ¶: Á×¾úÀ½ µð¹ö±× ¹× À¯´ÏƼ ½ÇÇà °á°ú) Á¤»óÀûÀ¸·Î ¾àÇÑ ÂüÁ¶ ÂüÁ¶°¡ »ì¾Æ ÀÖ´Ù. °ÇÑ ÂüÁ¶ ¿øº»: Á×¾úÀ½ °ÇÑ ÂüÁ¶ ÂüÁ¶: »ì¾ÒÀ½ ¾àÇÑ ÂüÁ¶ ¿øº»: Á×¾úÀ½ ¾àÇÑ ÂüÁ¶ ÂüÁ¶: »ìÀ½ ÂüÁ¶) http://ehdrn.tistory.com/335 |