this°¡ È¥ÀÚ¼ ÀÌ¿ëµÇ¸é ÀÚ½ÅÀÇ ÂüÁ¶°ª ÀÚü¸¦ ÀǹÌÇÕ´Ï´Ù. this´Â µðÀÚÀΟÀÓ¿¡¼ Àû¿ëµÇÁö¸¸ °á±¹ÀÇ this´Â ¾ðÁ¨°¡ ¸¸µé¾îÁú ¸Þ¸ð¸®ÀÇ ÂüÁ¶°ª thisÀÔ´Ï´Ù. Áï, ÀÌ ¸»Àº ½ÇÇà ŸÀÓ¿¡ thisÀÚü´Â °´Ã¼¸¦ »ý¼ºÇÒ ¶§ °´Ã¼ º¯¼ö°¡ °¡Áö´Â °ª°ú °°Àº °ªÀ» °¡Áö°Ô µË´Ï´Ù. »ý¼ºµÉ °´Ã¼ÀÇ ÂüÁ¶°ªÀ» ÀǹÌÇÏ´Â °ÍÀÔ´Ï´Ù. this ÀÚü¸¦ »ç¿ëÇÏ´Â ¿¹¸¦ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
|
& |
SpecialThis.cs |
Ü ¾ðÁ¨°¡ »ý¼ºµÉ °´Ã¼ ÀÚ½ÅÀÇ ÂüÁ¶°ª this¸¦ Å×½ºÆ®ÇÑ ¿¹Á¦ |
|
using System; public class SpecialThis { private int i = 0; public void plusCount(){ i++; } public SpecialThis getMySelf() { return this; } public void print(){ Console.WriteLine("member i = " + this.i); } public static void SpecialThis st = new SpecialThis(); SpecialThis st2 = st.getMySelf(); st.print(); st.plusCount(); st.print(); st2.plusCount(); st2.print(); st.plusCount(); st.print(); } } | ||
|
C:\C#Example\04>csc SpecialThis.cs C:\C#Example\04>SpecialThis member i = 0 member i = 1 member i = 2 member i = 3 | ||
this¶ó´Â Ű¿öµå°¡ ¾ø´Ù¸é Ŭ·¡½º´Â ÀÚ½ÅÀÇ ÂüÁ¶°ªÀ» ³Ñ±æ ¹æ¹ýÀÌ ¾ø½À´Ï´Ù. Àß »ý°¢ÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ¾ÆÁ÷ ¸¸µé¾îÁöÁöµµ ¾ÊÀº ÀÚ½ÅÀ» ¾î¶»°Ô ¾Ë°í ÀÚ½ÅÀÇ ÂüÁ¶°ªÀ» ¿ÜºÎ·Î ³Ñ°ÜÁÙ ¼ö ÀÖ½À´Ï±î? this Ű¿öµå´Â ±×Àú this.¸â¹öÇʵå, this.¸â¹ö¸Þ¼µå ÀÌ·¸°Ô »ç¿ëÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó °´Ã¼°¡ ¸Þ¸ð¸®¸¦ ÇÒ´ç ¹Þ´Â ¼ø°£¿¡ °´Ã¼º¯¼ö°¡ °¡Áö´Â °ª°ú ¶È°°Àº °ªÀ» °¡Áö±â ¶§¹®¿¡ this ÀÚü´Â, µðÀÚÀΟÀÓ¿¡ ÀÚ½ÅÀ» °¡¸®Å°´Â ÀÚ±â ÀÚ½ÅÀÇ ÂüÁ¶º¯¼ö¶ó°í º¸¸é µË´Ï´Ù.
|
this¸¦ ¸®ÅÏÇÏ´Â ¿¹ |
|
public SpecialThis getMySelf(){ return this; } |
|
¢Ñ thisÀÇ Å¸ÀÔ |
thisÀÇ Å¸ÀÔÀº ÇöÀç this°¡ »ç¿ëµÇ°í ÀÖ´Â ¹Ù·Î ÀÚ±â ÀÚ½ÅÀÔ´Ï´Ù. |
À§ÀÇ ÀÌ ¸Þ¼µå´Â °´Ã¼°¡ »ý¼ºµÈ ÈÄ È£Ãâ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í this´Â °´Ã¼°¡ »ý¼ºµÇ¸é °´Ã¼º¯¼öÀÇ °ª°ú °°Àº ÂüÁ¶°ªÀ» °¡Áö°Ô µË´Ï´Ù. ±×·¯´Ï thisÀÇ Å¸ÀÔÀº ÇöÀç Ŭ·¡½ºÀÇ µ¥ÀÌÅÍŸÀÔ°ú °°½À´Ï´Ù. ¸Þ¼µåÀÇ ¸®ÅÏŸÀÔ(Return Type)°ú ¸®ÅÏ(Return) µÇ¾îÁö´Â °ÍÀº °°¾Æ¾ß ÇÕ´Ï´Ù. this¸¦ ¸®ÅÏÇÑ´Ù´Â °ÍÀº ÀÚ½ÅÀÇ ÂüÁ¶°ªÀ» ¸®ÅÏÇÏ´Â °Í°ú °°±â ¶§¹®¿¡ this°¡ ¼ÓÇØÀÖ´Â ÀÚ½ÅÀÇ Å¬·¡½º°¡ thisÀÇ µ¥ÀÌÅÍŸÀÔÀÌ µÇ´Â °ÍÀÔ´Ï´Ù. ¿©±â¼ÀÇ this´Â SpecialThis µ¥ÀÌÅÍŸÀÔÀÔ´Ï´Ù. ±×¸®°í, ÀÚ½ÅÀ» ¸®ÅÏÇϰíÀÚ ÇÑ´Ù¸é ¡®return this;¡¯ ¶ó°í ÇÏ¸é µÇ´Â °ÍÀÔ´Ï´Ù.
|
¢Ã Ȧ·Î »ç¿ëµÇ´Â this(return this) |
|
q °´Ã¼¸¦ »ý¼ºÇϱâ Àü ´Ü°è¿¡¼ ±× ÁÖ¼Ò¸¦ this¶ó°í ÇÏ°Ô µÇ¸é, ÇÒ´çµÇ´Â ¼ø°£ this´Â ÇÒ´çµÇ´Â ¸Þ¸ð¸®ÀÇ ÂüÁ¶°ªÀ» °®°Ô µÊ q ¾ðÁ¨°¡ »ý¼ºµÉ ³» ¸Þ¸ð¸®ÀÇ ÁÖ¼Ò |
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦4°ÀÇ ÀúÀÚ:ÃÖ¿µ°ü |