{"id":390,"date":"2020-04-12T18:03:51","date_gmt":"2020-04-12T09:03:51","guid":{"rendered":"http:\/\/batmask.dothome.co.kr\/?p=390"},"modified":"2025-09-09T09:22:45","modified_gmt":"2025-09-09T00:22:45","slug":"unity-c-%eb%ac%b8%eb%b2%95%ec%97%90%ec%84%9c-%ec%9d%b5%ec%88%99%ed%95%98%ec%a7%80-%ec%95%8a%ec%9d%80-%eb%b6%80%eb%b6%84%eb%a7%8c-%eb%aa%a8%ec%95%84%eb%b3%b4%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/batmask.net\/index.php\/2020\/04\/12\/390\/","title":{"rendered":"Unity: C# \ubb38\ubc95\uc5d0\uc11c \uc775\uc219\ud558\uc9c0 \uc54a\uc740 \ubd80\ubd84\ub9cc \ubaa8\uc544\ubcf4\uae30"},"content":{"rendered":"\n<p>C#\uc744 \ud55c \ubc88 \ud6d1\uc5b4\ubcf4\uba74\uc11c \uc775\uc219\ud558\uc9c0 \uc54a\uac70\ub098 \ub2e4\ub978\uc5b8\uc5b4\uc640 \ud5f7\uac08\ub9b4\ub9cc\ud55c \ubd80\ubd84\ub9cc \ucd94\ub824\ubd24\ub2e4. \uc774\ub7f0\uac8c \uc788\ub2e4\uace0 \uc5b8\uae09\ud558\ub294 \uc120\uc774\uae30 \ub54c\ubb38\uc5d0, \ubaa8\ub4e0 \uc815\ubcf4\ub97c \uc5bb\uc73c\ub824 \ud558\uc9c0\ub9d0\uace0 \uad00\ub828 \ud0a4\uc6cc\ub4dc\ub97c \uc774\uc6a9\ud574 \uac80\uc0c9\ud574\ubcf4\uae30 \ubc14\ub780\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">foreach<\/h3>\n\n\n\n<p>\ub300\ubd80\ubd84 \ub2e4 C\/C++\ud558\uace0 \uac19\uc740\ub370, \ub2e4\ub978 \uc5b8\uc5b4\uc5d0\uc11c \uc775\uc219\ud55c foreach\ubb38\uc774 \ucd94\uac00\ub85c \uc788\ub2e4. \ucd94\uac00\ub85c \uc788\ub2e4\uace0 \ud558\uae30\uc5d0 \uc880 \ubbfc\ub9dd\ud558\uae34 \ud55c\ub370, C++ 11\uc5d0\ub3c4 \ucd94\uac00\ub418\uc5b4 \uc9c0\uc6d0\ud558\uace0 \uc788\ub294 \ubb38\ubc95\uc774\ub2e4. <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/language-reference\/keywords\/foreach-in\">https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/language-reference\/keywords\/foreach-in<\/a> \ucc38\uc870.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>var fibNumbers = new List&lt;int> { 0, 1, 1, 2, 3, 5, 8, 13 };\nint count = 0;\nforeach (int element in fibNumbers)\n{\n    count++;\n    Console.WriteLine($\"Element #{count}: {element}\");\n}\nConsole.WriteLine($\"Number of elements: {count}\");<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">var<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">fibNumbers<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">new<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">List<\/span><span style=\"color: #ADBAC7\">&lt;<\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\">&gt; { <\/span><span style=\"color: #6CB6FF\">0<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">1<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">1<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">2<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">3<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">5<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">8<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">13<\/span><span style=\"color: #ADBAC7\"> };<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">count<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">0<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">foreach<\/span><span style=\"color: #ADBAC7\"> (<\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">element<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">in<\/span><span style=\"color: #ADBAC7\"> fibNumbers)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    count<\/span><span style=\"color: #F47067\">++<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">$&quot;Element #{<\/span><span style=\"color: #ADBAC7\">count<\/span><span style=\"color: #96D0FF\">}: {<\/span><span style=\"color: #ADBAC7\">element<\/span><span style=\"color: #96D0FF\">}&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">$&quot;Number of elements: {<\/span><span style=\"color: #ADBAC7\">count<\/span><span style=\"color: #96D0FF\">}&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">format string<\/h3>\n\n\n\n<p>Kotlin, Python\uc5d0\uc11c \uc790\uc8fc\uc4f0\ub358 format string\uc744 \uc9c0\uc6d0\ud55c\ub2e4. \uc61b\ub0a0 \ubc29\uc2dd\uc740 \uc0dd\ub7b5\ud558\uace0 \ucd5c\uadfc \ubc29\uc2dd\ub9cc \uc5b8\uae09\ud558\uba74, 3\uac1c\uac00 \ub2e4 \uc720\uc0ac\ud558\ub2e4. \ubb38\uc790\uc5f4\uc55e\uc5d0 \ud2b9\uc218\ubb38\uc790\ub97c \ubd99\uc774\ub294\ub370, Python\uc740 &#8216;f&#8217;, Kotlin\uc740 \ub530\ub85c \ubd99\uc774\ub294\uac8c \uc5c6\uace0, C#\uc740 &#8216;$&#8217;\ub97c \ubd99\uc778\ub2e4. \uc2a4\ud2b8\ub9c1 \ub0b4\ubd80\uc5d0\uc11c\ub294 3\uac1c\ub2e4 \ub3d9\uc77c\ud558\uac8c &#8216;{ }&#8217;\ub85c \ubb36\uc778 \ubd80\ubd84\uc548\uc5d0 expression\uc774 \ub4e4\uc5b4\uac08 \uc218 \uc788\uace0, \ucc98\ub9ac\ub41c \uacb0\uacfc\ubb3c\uc774 \ubb38\uc790\uc5f4\ub85c \uc4f0\uc778\ub2e4. <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/tutorials\/exploration\/interpolated-strings\">https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/tutorials\/exploration\/interpolated-strings<\/a> \ucc38\uc870.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>var name = \"&lt;name>\";\nConsole.WriteLine($\"Hello, {name}. It's a pleasure to meet you!\");<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">var<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">name<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;&lt;name&gt;&quot;<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">$&quot;Hello, {<\/span><span style=\"color: #ADBAC7\">name<\/span><span style=\"color: #96D0FF\">}. It&#39;s a pleasure to meet you!&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>format string\uc774 \uac00\ub3c5\uc131\uc774 \uc88b\uc744\uc9c0 \ubaa8\ub974\uc9c0\ub9cc, \uc5ec\uc804\ud788 string builder \ud615\ud0dc\uac00 \ub9ce\uc774 \uc4f0\uc778\ub2e4. \uadf8\ub0e5 &#8216;+&#8217; \uc5f0\uc0b0\uc73c\ub85c \uc2a4\ud2b8\ub9c1\uacfc expression\ub4e4\uc744 \ub354\ud574 \uc0c8\ub85c\uc6b4 \uc2a4\ud2b8\ub9c1\uc744 \ub9cc\ub4dc\ub294 \ud615\ud0dc\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>string string1 = \"Today is \" + DateTime.Now.ToString(\"D\") + \".\";\nConsole.WriteLine(string1);\n\nstring string2 = \"This is one sentence. \" + \"This is a second. \";\nstring2 += \"This is a third sentence.\";\nConsole.WriteLine(string2);<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">string1<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;Today is &quot;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">+<\/span><span style=\"color: #ADBAC7\"> DateTime.Now.<\/span><span style=\"color: #DCBDFB\">ToString<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;D&quot;<\/span><span style=\"color: #ADBAC7\">) <\/span><span style=\"color: #F47067\">+<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;.&quot;<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(string1);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">string2<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;This is one sentence. &quot;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">+<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;This is a second. &quot;<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">string2 <\/span><span style=\"color: #F47067\">+=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;This is a third sentence.&quot;<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(string2);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">method named arguments<\/h3>\n\n\n\n<p>Kotlin, Python \ub2e4 \ud568\uc218\uc758 \uc778\uc790\uc774\ub984\uc744 \uba85\uc2dc\ud574\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4. C#\ub3c4 \ub9c8\ucc2c\uac00\uc9c0\uae34 \ud55c\ub370, \uc55e\uc758 \ub450 \uc5b8\uc5b4\uac00 &#8216;name&#8217;=&#8217;value&#8217; \ud615\ud0dc\ub97c \uc4f0\ub294\uac70\uc5d0 \ubc18\ud574\uc11c &#8216;name&#8217; : &#8216;value&#8217; \ud615\ud0dc\ub85c \ub118\uae34\ub2e4. <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/programming-guide\/classes-and-structs\/named-and-optional-arguments\">https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/programming-guide\/classes-and-structs\/named-and-optional-arguments<\/a> \ucc38\uc870. <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>PrintOrderDetails(orderNum: 31, productName: \"Red Mug\", sellerName: \"Gift Shop\");<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCBDFB\">PrintOrderDetails<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">orderNum<\/span><span style=\"color: #ADBAC7\">: <\/span><span style=\"color: #6CB6FF\">31<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">productName<\/span><span style=\"color: #ADBAC7\">: <\/span><span style=\"color: #96D0FF\">&quot;Red Mug&quot;<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">sellerName<\/span><span style=\"color: #ADBAC7\">: <\/span><span style=\"color: #96D0FF\">&quot;Gift Shop&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Access Modifiers<\/h3>\n\n\n\n<p>private, protected, public\uc740 \uc775\uc219\ud55c\ub370, internal \uc774 \ucd94\uac00\ub85c \uc874\uc7ac\ud55c\ub2e4. \uac8c\ub2e4\uac00 \ub450\uac1c\uc758 \ucf64\ube44\ub124\uc774\uc158\ub3c4 \uac00\ub2a5\ud558\ub2e4? protected internal, private protected \ucc98\ub7fc. \uc751?<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">properties<\/h3>\n\n\n\n<p>\ucc98\uc74c\uc5d4 \uc880 \ud63c\ub780\uc2a4\ub7ec\uc6b4 \uac1c\ub150\uc774\uc5c8\ub294\ub370, field \uc640 property\ub97c \uad6c\ubd84\ud574\uc11c \uc774\ud574\ud574\uc57c \ud55c\ub2e4.  field\ub294 \uc775\ud788 \uc54c\uace0 \uc788\ub4ef\uc774 \ud074\ub798\uc2a4\ub0b4\uc758 variable \ub4e4\uc774\ub2e4. OOP\uc5d0\uc120 \uc778\ucea1\uc290\ub808\uc774\uc158\uc744 \uad6c\ud604\ud558\uae30 \uc704\ud574 \uc774 fields\ub97c \uc9c1\uc811 \ub178\ucd9c\ud558\uc9c0 \uc54a\uace0 getter\/setter\ub97c \ud1b5\ud574\uc11c\ub9cc \uc811\uadfc\ud558\ub3c4\ub85d \ud55c\ub2e4. \ud558\uc9c0\ub9cc, \uc774\ub807\uac8c \uad6c\ud604\ub418\uba74 \ub9e4\ubc88 \uc0ac\uc6a9\uc790\uac00 getter\/setter\ub97c \ud638\ucd9c\ud558\ub294\uac8c \ubc88\uac70\ub85c\uc6b0\ubbc0\ub85c, property\ub77c\ub294 getter\/setter \uc14b\uc744 \uc81c\uacf5\ud574\uc11c field\ub97c \uc9c1\uc811 \uc77d\uace0 \uc4f0\ub4ef\uc774 \uc0ac\uc6a9\uac00\ub2a5\ud558\uac8c \ud574\uc900\ub2e4.<\/p>\n\n\n\n<p>\ucf54\ud2c0\ub9b0\ub3c4 property\ub97c full\ub85c \uc0ac\uc6a9\ud558\uba74 getter\/setter\ub97c \ub2e4 \uc0ac\uc6a9\ud574 \ub2e4\uc74c\ucc98\ub7fc \ub41c\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>var stringRepresentation: String\n    get() = this.toString()\n    set(value) {\n        setDataFromString(value) \/\/ parses the string and assigns values to other properties\n    }<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">var <\/span><span style=\"color: #F69D50\">stringRepresentation<\/span><span style=\"color: #ADBAC7\">: String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">get<\/span><span style=\"color: #ADBAC7\">() <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">this<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #DCBDFB\">toString<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">set<\/span><span style=\"color: #ADBAC7\">(value) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #DCBDFB\">setDataFromString<\/span><span style=\"color: #ADBAC7\">(value) <\/span><span style=\"color: #768390\">\/\/ parses the string and assigns values to other properties<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc2e4\uc81c \uac12\uc744 \uc800\uc7a5\ud558\ub294 field\ub97c backing field\ub77c \ubd80\ub974\ub294\ub370, Kotlin\uc5d0\uc11c\ub294 \ud544\uc694\ud55c \uacbd\uc6b0 \uc790\ub3d9\uc73c\ub85c \uc0dd\uc131\ud574\uc900\ub2e4. Kotlin\uc5d0\uc11c\ub294 setter\uc5d0\uc11c \uc774 field\uc5d0 \uc811\uadfc\uac00\ub2a5\ud558\ub3c4\ub85d &#8216;field&#8217; \ud0a4\uc6cc\ub4dc\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>var counter = 0 \/\/ Note: the initializer assigns the backing field directly\n    set(value) {\n        if (value >= 0) field = value\n    }<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">var<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">counter<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">0<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #768390\">\/\/ Note: the initializer assigns the backing field directly<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">set<\/span><span style=\"color: #ADBAC7\">(value) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #DCBDFB\">if<\/span><span style=\"color: #ADBAC7\"> (value <\/span><span style=\"color: #F47067\">&gt;=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">0<\/span><span style=\"color: #ADBAC7\">) field <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> value<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc774\ub807\uac8c \uc0ac\uc6a9\ud558\uc9c0 \ubabb\ud558\ub294 \uacbd\uc6b0, \uc9c1\uc811 backing property\ub97c \uc815\uc758\ud574\uc11c \uc0ac\uc6a9\uac00\ub2a5\ud558\ub2e4. <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>private var _table: Map&lt;String, Int>? = null\npublic val table: Map&lt;String, Int>\n    get() {\n        if (_table == null) {\n            _table = HashMap() \/\/ Type parameters are inferred\n        }\n        return _table ?: throw AssertionError(\"Set to null by another thread\")\n    }<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">private<\/span><span style=\"color: #ADBAC7\"> var <\/span><span style=\"color: #F69D50\">_table<\/span><span style=\"color: #ADBAC7\">: Map<\/span><span style=\"color: #F47067\">&lt;<\/span><span style=\"color: #ADBAC7\">String, Int<\/span><span style=\"color: #F47067\">&gt;?<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">null<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">public val table<\/span><span style=\"color: #F47067\">:<\/span><span style=\"color: #ADBAC7\"> Map<\/span><span style=\"color: #F47067\">&lt;<\/span><span style=\"color: #ADBAC7\">String, Int<\/span><span style=\"color: #F47067\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #DCBDFB\">get<\/span><span style=\"color: #ADBAC7\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> (_table <\/span><span style=\"color: #F47067\">==<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">null<\/span><span style=\"color: #ADBAC7\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            _table <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">HashMap<\/span><span style=\"color: #ADBAC7\">() <\/span><span style=\"color: #768390\">\/\/ Type parameters are inferred<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">return<\/span><span style=\"color: #ADBAC7\"> _table <\/span><span style=\"color: #F47067\">?:<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">throw<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">AssertionError<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Set to null by another thread&quot;<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>C#\ub3c4 \uc774\uc640 \uc720\uc0ac\ud558\ub2e4. <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>class Person\n{\n  private string name; \/\/ field\n\n  public string Name   \/\/ property\n  {\n    get { return name; }   \/\/ get method\n    set { name = value; }  \/\/ set method\n  }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Person<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  <\/span><span style=\"color: #F47067\">private<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">name<\/span><span style=\"color: #ADBAC7\">; <\/span><span style=\"color: #768390\">\/\/ field<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Name<\/span><span style=\"color: #ADBAC7\">   <\/span><span style=\"color: #768390\">\/\/ property<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">get<\/span><span style=\"color: #ADBAC7\"> { <\/span><span style=\"color: #F47067\">return<\/span><span style=\"color: #ADBAC7\"> name; }   <\/span><span style=\"color: #768390\">\/\/ get method<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">set<\/span><span style=\"color: #ADBAC7\"> { name <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> value; }  <\/span><span style=\"color: #768390\">\/\/ set method<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>C#\uc5d0\uc11c\ub294 backing field\ub97c \uc790\ub3d9\uc0dd\uc131\ud558\uac8c \ud558\ub824\uba74, \ub2e4\uc74c\ucc98\ub7fc \ube44\uc5b4\uc788\ub294 getter\/setter\ub97c \ub9cc\ub4e4\uc5b4\uc8fc\uba74 \ub41c\ub2e4. <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>public string Name  \/\/ property\n  { get; set; }<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\"> Name  <\/span><span style=\"color: #768390\">\/\/ property<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  { get; set; }<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">sealed class<\/h3>\n\n\n\n<p>Kotlin\uc5d0\ub3c4 sealed class\uac00 \uc788\uc9c0\ub9cc, \ub9ce\uc774 \ub2e4\ub974\ub2e4. Kotlin\uc5d0\uc120 sealed class \uc790\uccb4\ub294 abstract\ub85c \ub2f9\uc5f0\ud788 \uc0c1\uc18d\uc774 \uac00\ub2a5\ud558\uace0 \uc0c1\uc18d\ud574\uc11c \uc0ac\uc6a9\ud55c\ub2e4. \ub2e4\ub9cc, seald class\uac00 \uc815\uc758\ub41c \ud30c\uc77c \uc548\uc5d0\uc11c\ub9cc \uac00\ub2a5\ud558\ub2e4. <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sealed class Expr\ndata class Const(val number: Double) : Expr()\ndata class Sum(val e1: Expr, val e2: Expr) : Expr()\nobject NotANumber : Expr()<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">sealed<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Expr<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">data class Const(<\/span><span style=\"color: #F69D50\">val<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">number<\/span><span style=\"color: #ADBAC7\">: Double) : <\/span><span style=\"color: #F69D50\">Expr<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F69D50\">data<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Sum<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">val<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">e1<\/span><span style=\"color: #ADBAC7\">: <\/span><span style=\"color: #F69D50\">Expr<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">val<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">e2<\/span><span style=\"color: #ADBAC7\">: <\/span><span style=\"color: #F69D50\">Expr<\/span><span style=\"color: #ADBAC7\">) : <\/span><span style=\"color: #F69D50\">Expr<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">object<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">NotANumber<\/span><span style=\"color: #ADBAC7\"> : <\/span><span style=\"color: #F69D50\">Expr<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc774\ub7f0\uac8c \uc65c \ud544\uc694\ud55c\uc9c0 \uc758\ubb38\uc774 \ub4e4 \uc218 \uc788\ub2e4. \ub098\ub3c4 \uadf8\ub7ec\ub2c8\uae4c. \uc2e4 \uc0ac\uc6a9\uc608\ub85c \ub4e4\uba74, \ubcf4\ub2e4 \uc720\uc5f0\ud55c enum\ud615\ud0dc\uc758 \uc0ac\uc6a9\uc774 \uac00\ub2a5\ud558\ub2e4. \uae30\uc874 enum\uc740 \ub2e8\uc77c \ud0c0\uc785 \uac1d\uccb4\uc758 \ub098\uc5f4\uc774\uc5c8\ub2e4\uba74, sealed class\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 \uac01\uac01 \ub2e4\ub978 \uac1d\uccb4\ub4e4\uc774 enum\ucc98\ub7fc \uc0ac\uc6a9\uac00\ub2a5\ud574\uc9c4\ub2e4.  <a href=\"https:\/\/android.jlelse.eu\/kotlin-what-is-a-sealed-classe-1e535c416519\">https:\/\/android.jlelse.eu\/kotlin-what-is-a-sealed-classe-1e535c416519<\/a> \ucc38\uace0.<\/p>\n\n\n\n<p>C#\uc5d0\uc11c\ub294 private \ucc98\ub7fc \uc0ac\uc6a9\ub41c\ub2e4. &#8216;sealed&#8217; \ud0a4\uc6cc\ub4dc\ub97c \ud074\ub798\uc2a4\uc5d0 \ubd99\uc774\uba74 \uc0c1\uc18d\uc774 \ubd88\uac00\ub2a5\ud574\uc9c4\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sealed class Vehicle \n{\n  ...\n}\n\nclass Car : Vehicle \/\/ Error\n{\n  ...\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">sealed<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Vehicle<\/span><span style=\"color: #ADBAC7\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  ...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Car<\/span><span style=\"color: #ADBAC7\"> : <\/span><span style=\"color: #F69D50\">Vehicle<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #768390\">\/\/ Error<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  ...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>private\uacfc \ucc28\uc774\uac00 \ubb50\ub0d0\uace0 \ud560 \uc218 \uc788\ub294\ub370, C# \uc5d0\uc11c nested class\uac00 \uc544\ub2cc\uc774\uc0c1, private class\ub294 \uc0ac\uc6a9\ud560 \uc218\uac00 \uc5c6\ub2e4. \uc774\uc5d0 \ub300\ud55c \ub300\uc548 \uc815\ub3c4\ub85c \uc0dd\uac01\ud574\ub3c4 \ub420 \uac70 \uac19\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">preprocessor directives<\/h3>\n\n\n\n<p>C\/C++\uc5d0\uc11c \ubd24\ub358 \ubc14\ub85c \uadf8\uac83. &#8216;#&#8217;\uc73c\ub85c \uc2dc\uc791\ud558\uba70, #define, #undef, #if, #else, #endif \ub4f1\uc774 \uc788\ub2e4. \uc790\uc138\ud55c\uac74 <a href=\"https:\/\/docs.microsoft.com\/ko-kr\/dotnet\/csharp\/language-reference\/preprocessor-directives\/\">https:\/\/docs.microsoft.com\/ko-kr\/dotnet\/csharp\/language-reference\/preprocessor-directives\/<\/a> \ucc38\uc870.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>#define DEBUG  \n\/\/#define TRACE  \n#undef TRACE  \n  \nusing System;  \n  \npublic class TestDefine  \n{  \n    static void Main()  \n    {  \n#if (DEBUG)  \n        Console.WriteLine(\"Debugging is enabled.\");  \n#endif  \n  \n#if (TRACE)  \n     Console.WriteLine(\"Tracing is enabled.\");  \n#endif  \n    }  \n}  <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">#<\/span><span style=\"color: #F47067\">define<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">DEBUG<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">\/\/#define TRACE  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">#<\/span><span style=\"color: #F47067\">undef<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">TRACE<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">using<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">System<\/span><span style=\"color: #ADBAC7\">;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">TestDefine<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">static<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">void<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">Main<\/span><span style=\"color: #ADBAC7\">()  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">#<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> (<\/span><span style=\"color: #F69D50\">DEBUG<\/span><span style=\"color: #ADBAC7\">)  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Debugging is enabled.&quot;<\/span><span style=\"color: #ADBAC7\">);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">#<\/span><span style=\"color: #F47067\">endif<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">#<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> (<\/span><span style=\"color: #F69D50\">TRACE<\/span><span style=\"color: #ADBAC7\">)  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">     Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Tracing is enabled.&quot;<\/span><span style=\"color: #ADBAC7\">);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">#<\/span><span style=\"color: #F47067\">endif<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}  <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Collections<\/h3>\n\n\n\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/programming-guide\/concepts\/collections\">https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/programming-guide\/concepts\/collections<\/a> \ucc38\uc870.<\/p>\n\n\n\n<p>\ub2e4\ub978\uc5b8\uc5b4\uc640 \ube44\uc2b7\ud558\uac8c Collections\ub97c \uc81c\uacf5\ud55c\ub2e4.  map\ub300\uc2e0 Dictionary\uac00 \uc4f0\uc774\ub294\uac8c \ud2b9\uc774\ud558\uba70, Set\uc774 \uc548\ubcf4\uc774\ub294\ub370, HashSet&lt;T&gt;, SortedSet&lt;T&gt; \uc758 \uad6c\ud604\ubc84\uc804\uc774 \uc874\uc7ac\ud55c\ub2e4. \ud2b9\uc774\ud558\ub2e4\uace0 \ud560 \uc218\ub294 \uc5c6\ub294\ub370, \ucf54\ud2c0\ub9b0\uc5d0 \uae30\ubcf8\uc73c\ub85c \uc5c6\ub2e4\ubcf4\ub2c8 \uc5b8\uae09\ud558\uc790\uba74 Stack&lt;T&gt;\uacfc Queue&lt;T&gt;\ub3c4 \uc788\ub2e4. <\/p>\n\n\n\n<p>\uba40\ud2f0\uc4f0\ub808\ub4dc \ud658\uacbd\uc5d0\uc11c \uc0ac\uc6a9\ud560 collection\uc740 \ub530\ub85c \uc874\uc7ac\ud55c\ub2e4.  <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/api\/system.collections.concurrent?view=netframework-4.8\">https:\/\/docs.microsoft.com\/en-us\/dotnet\/api\/system.collections.concurrent?view=netframework-4.8<\/a> \ucc38\uc870.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<p>\uc5ec\uae30\uc11c\ubd80\ud130 \ubcf8\uaca9\uc801\uc73c\ub85c C#\ub9cc\uc758 \ud2b9\ubcc4\ud55c \ub0b4\uc6a9\uac19\uae30\ub3c4 \ud558\ub2e4. \uc804\ud600 \uc775\uc219\ud558\uc9c0 \uc54a\uc740 \ub0b4\uc6a9\ub4e4\uc774\ub2e4. \uadf8\ub2e4\uc9c0 \uc9c1\uad00\uc801\uc774\uc9c0 \uc54a\uc73c\ub2c8, \ucc28\uadfc \ucc28\uadfc \uc54c\uc544\uac00\uc57c \ud560\ub4ef.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Attributes<\/h3>\n\n\n\n<p>\uba54\ud0c0 \ub370\uc774\ud0c0\ub97c \ubd80\uc5ec\ud558\ub294 \ubc29\ubc95. \uc0dd\uac01\ubcf4\ub2e4 \uc880 \ubcf5\uc7a1\ud558\ub2e4. Unity\uc5d0 \ub300\ud574\uc11c\ub9cc \ud55c\uc815\ud55c\ub2e4\uba74, \uc798 \ubaa8\ub974\uace0 \uc368\uc624\ub358 \ub2e4\uc74c \ucf54\ub4dc\ub4e4\uc774 attributes\ub4e4\uc774\ub2e4.  <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/programming-guide\/concepts\/attributes\/\"> https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/programming-guide\/concepts\/attributes\/<\/a> \ucc38\uc870. <\/p>\n\n\n\n<p>\uc870\uae08 \uc608\uc804 \ubb38\uc11c\uc9c0\ub9cc unity \uad00\ub828\ud574\uc11c\ub294 <a href=\"https:\/\/unity3d.college\/2017\/05\/22\/unity-attributes\/\">https:\/\/unity3d.college\/2017\/05\/22\/unity-attributes\/<\/a> \ucc38\uc870.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&#91;SerializeField&#93;\n    private int velocity = 0;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">&#91;<\/span><span style=\"color: #F69D50\">SerializeField<\/span><span style=\"color: #ADBAC7\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">private<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">velocity<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">0<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Delegates<\/h3>\n\n\n\n<p>\ud568\uc218\uc5d0 \ub300\ud55c \ub808\ud37c\ub7f0\uc2a4\uac00 delegate\uc774\ub2e4. Kotlin\uc774\ub098 Python\uc5d0\uc120 \ud568\uc218\uac00 first class\uc774\uae30 \ub54c\ubb38\uc5d0 \uc774\ub7f0\uac70 \uc5c6\uc774 \uc790\uc5f0\uc2a4\ub7fd\uac8c \uad6c\ud604\ub41c\ub2e4.  \ubcf4\ud1b5 events \uc640 call-back \uad6c\ud604\uc5d0 \uc0ac\uc6a9\ub418\uba70, \ubaa8\ub4e0 delegates\ub294 System.Delegate\uc5d0\uc11c \uc0c1\uc18d\ubc1b\uc74c. <a href=\"https:\/\/docs.microsoft.com\/ko-kr\/dotnet\/csharp\/programming-guide\/delegates\/\">https:\/\/docs.microsoft.com\/ko-kr\/dotnet\/csharp\/programming-guide\/delegates\/<\/a> \ucc38\uc870.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>public delegate void Del(string message);\n\n\/\/ Create a method for a delegate.\npublic static void DelegateMethod(string message)\n{\n    Console.WriteLine(message);\n}\n\n\/\/ Instantiate the delegate.\nDel handler = DelegateMethod;\n\n\/\/ Call the delegate.\nhandler(\"Hello World\");<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">delegate<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">void<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Del<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">message<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #768390\">\/\/ Create a method for a delegate.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">static<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">void<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">DelegateMethod<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">message<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(message);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #768390\">\/\/ Instantiate the delegate.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F69D50\">Del<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">handler<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> DelegateMethod;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #768390\">\/\/ Call the delegate.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCBDFB\">handler<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Hello World&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc608\uc5d0\uc11c \ubcf4\uc774\ub4ef\uc774 \uc57d\uac04 typedef \uac19\uc740 \ud615\ud0dc\ub2e4. \ud568\uc218\uc758 \uc120\uc5b8\ud615\ud0dc\ub85c \ud0c0\uc785\uc744 \uc815\uc758\ud558\uace0, \uc815\uc758\ud55c \ud0c0\uc785\ubcc0\uc218\uc5d0 \uc815\uc758\ub41c \ud568\uc218\ub97c \ub3d9\uc801\uc73c\ub85c \ud560\ub2f9\ud55c\ub2e4. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Events<\/h3>\n\n\n\n<p>\uc775\uc219\ud55c Observer pattern, \ub2e4\ub978\ub9d0\ub85c\ub294 publisher-subscripber \ubaa8\ub378\uc744 \uc5b8\uc5b4\ub808\ubca8\uc5d0\uc11c \uc9c0\uc6d0\ud558\ub294 \ub0b4\uc6a9\uc774\ub2e4. \ud074\ub798\uc2a4\ub098 \uac1d\uccb4\uc5d0 \ubcc0\uacbd\uc0ac\ud56d\uc774 \uc788\uc73c\uba74,  \ub2e4\ub978 \ud074\ub798\uc2a4\ub098 \uac1d\uccb4\uc5d0 \ubcc0\uacbd\uc0ac\ud56d\uc744 \uc54c\ub824\uc900\ub2e4. \ucf5c\ubc31\uacfc \uac19\uc740 \ud615\ud0dc\ub85c delegate\ub97c \uc774\uc6a9\ud55c\ub2e4.  <a href=\"https:\/\/docs.microsoft.com\/ko-kr\/dotnet\/csharp\/programming-guide\/events\/\">https:\/\/docs.microsoft.com\/ko-kr\/dotnet\/csharp\/programming-guide\/events\/<\/a> \ucc38\uc870. \uc0ac\uc6a9\ubc95\uc740 \uc880 \ubcf5\uc7a1\ud574 \ubcf4\uc778\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub85c \uc4f0\uc77c delegate\ub97c \uc120\uc5b8\ud55c\ub2e4. sender\uc640 arguement \ub450\uac1c\uc758 \uc778\uc790\ub97c \uac16\ub294\ub2e4. <\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>public delegate void EventHandler(object sender, EventArgs e);<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">delegate<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">void<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">EventHandler<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">object<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">sender<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">EventArgs<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">e<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Publisher\uc5d0\uc11c \uc774\ubca4\ud2b8\ub97c \uc815\uc758\ud558\uace0, \ubcc0\uacbd\uc0ac\ud56d\uc774 \uc788\uc744 \ub54c, \ud574\ub2f9 \uc774\ubca4\ud2b8\ub97c \uccb4\ud06c\ud574\uc11c \uac12\uc774 \uc788\uc73c\uba74 \ud568\uc218 \ud615\ud0dc\ub85c \uc2e4\ud589\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>  \npublic class Publisher: ArrayList  \n{  \n    public event EventHandler ProdcutAddedInfo;  \n    protected virtual void OnChanged(EventArgs e)  \n    {  \n        if (ProdcutAddedInfo != null) ProdcutAddedInfo(this, e);  \n    }  \n    public override int Add(Object product)  \n    {  \n        int added = base.Add(product);  \n        OnChanged(EventArgs.Empty);  \n        return added;  \n    }  \n    public override void Clear()  \n    {  \n        base.Clear();  \n        OnChanged(EventArgs.Empty);  \n    }  \n    public override object this&#91;int index&#93;  \n    {  \n        set  \n        {  \n            base&#91;index&#93; = value;  \n            OnChanged(EventArgs.Empty);  \n        }  \n    }  \n}  <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Publisher<\/span><span style=\"color: #ADBAC7\">: <\/span><span style=\"color: #F69D50\">ArrayList<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">event<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">EventHandler<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">ProdcutAddedInfo<\/span><span style=\"color: #ADBAC7\">;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">protected<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">virtual<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">void<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">OnChanged<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">EventArgs<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">e<\/span><span style=\"color: #ADBAC7\">)  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> (ProdcutAddedInfo <\/span><span style=\"color: #F47067\">!=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">null<\/span><span style=\"color: #ADBAC7\">) <\/span><span style=\"color: #DCBDFB\">ProdcutAddedInfo<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #6CB6FF\">this<\/span><span style=\"color: #ADBAC7\">, e);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">override<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">Add<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">Object<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">product<\/span><span style=\"color: #ADBAC7\">)  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">added<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">base<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #DCBDFB\">Add<\/span><span style=\"color: #ADBAC7\">(product);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #DCBDFB\">OnChanged<\/span><span style=\"color: #ADBAC7\">(EventArgs.Empty);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">return<\/span><span style=\"color: #ADBAC7\"> added;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">override<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">void<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">Clear<\/span><span style=\"color: #ADBAC7\">()  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #6CB6FF\">base<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #DCBDFB\">Clear<\/span><span style=\"color: #ADBAC7\">();  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #DCBDFB\">OnChanged<\/span><span style=\"color: #ADBAC7\">(EventArgs.Empty);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">override<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">object<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">this<\/span><span style=\"color: #ADBAC7\">&#91;<\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">index<\/span><span style=\"color: #ADBAC7\">&#93;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">set<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            <\/span><span style=\"color: #6CB6FF\">base<\/span><span style=\"color: #ADBAC7\">&#91;index&#93; <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> value;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            <\/span><span style=\"color: #DCBDFB\">OnChanged<\/span><span style=\"color: #ADBAC7\">(EventArgs.Empty);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}  <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc608\uc81c\uc5d0\uc11c OnChanged()\uc5d0\uc11c \uc774\ubca4\ud2b8\uac00 \ube44\uc5c8\ub294\uc9c0 null \uc5ec\ubd80\ub85c \uccb4\ud06c\ud558\uace0, \ud638\ucd9c\ud558\ub294 \ubd80\ubd84\uc744 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>subscriber\ub294 publisher\uc758 \uc774\ubca4\ud2b8\uc5d0 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub97c \ub4f1\ub85d\ud55c\ub2e4. \ub4f1\ub85d\uc740 &#8216;+=&#8217; \uc5f0\uc0b0\uc790\ub85c \uc190\uc27d\uac8c \ub41c\ub2e4. \ud544\uc694\ud55c\uacbd\uc6b0, \ub4f1\ub85d\ub41c \ud578\ub4e4\ub7ec\ub97c \ud574\uc81c\ud560 \uc218 \uc788\ub2e4. \ud574\uc81c\ub294 &#8216;-=&#8217; \uc5f0\uc0b0\uc790\ub85c \uac00\ub2a5\ud558\ub2e4.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>public class Subscriber  \n{  \n    private Publisher publishers;  \n    public Subscriber(Publisher publisher)  \n    {  \n        this.publishers = publisher;  \n        publishers.ProdcutAddedInfo += publishers_ProdcutAddedInfo;  \n    }  \n    void publishers_ProdcutAddedInfo(object sender, EventArgs e)  \n    {  \n        if (sender == null)  \n        {  \n            Console.WriteLine(\"No New Product Added.\");  \n            return;  \n        }  \n        Console.WriteLine(\"A New Prodct Added.\");  \n    }  \n    public void UnSubscribeEvent()  \n    {  \n        publishers.ProdcutAddedInfo -= publishers_ProdcutAddedInfo;  \n    }  \n}  <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Subscriber<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">private<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Publisher<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">publishers<\/span><span style=\"color: #ADBAC7\">;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">Subscriber<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">Publisher<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">publisher<\/span><span style=\"color: #ADBAC7\">)  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #6CB6FF\">this<\/span><span style=\"color: #ADBAC7\">.publishers <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> publisher;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        publishers.ProdcutAddedInfo <\/span><span style=\"color: #F47067\">+=<\/span><span style=\"color: #ADBAC7\"> publishers_ProdcutAddedInfo;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">void<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">publishers_ProdcutAddedInfo<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">object<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">sender<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">EventArgs<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">e<\/span><span style=\"color: #ADBAC7\">)  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> (sender <\/span><span style=\"color: #F47067\">==<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">null<\/span><span style=\"color: #ADBAC7\">)  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;No New Product Added.&quot;<\/span><span style=\"color: #ADBAC7\">);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            <\/span><span style=\"color: #F47067\">return<\/span><span style=\"color: #ADBAC7\">;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;A New Prodct Added.&quot;<\/span><span style=\"color: #ADBAC7\">);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">void<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">UnSubscribeEvent<\/span><span style=\"color: #ADBAC7\">()  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        publishers.ProdcutAddedInfo <\/span><span style=\"color: #F47067\">-=<\/span><span style=\"color: #ADBAC7\"> publishers_ProdcutAddedInfo;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}  <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc608\uc81c\uc5d0\uc11c publisher\ub97c \uc0dd\uc131\uc790 \uc778\uc790\ub85c \ubc1b\uc544, delegate\uc640 \uac19\uc740 \ud0c0\uc785\uc758 \uba64\ubc84\ud568\uc218\ub97c \uc774\ubca4\ud2b8\uc5d0 &#8216;+=&#8217; \uc5f0\uc0b0\uc790\ub85c \ub4f1\ub85d\ud55c\ub2e4. UnSubscribeEvent()\uc5d0\uc120 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub97c \uc81c\uac70\ud558\ub294\uac78 \ubcf4\uc5ec\uc900\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>class Program  \n{  \n    static void Main(string[] args)  \n    {  \n        Publisher publisher = new Publisher();  \n        Subscriber subscriber = new Subscriber(publisher);  \n        publisher.Add(new Product  \n        {  \n            ProductName = \"Complan\", Price = 20  \n        });  \n        publisher.Add(new Product  \n        {  \n            ProductName = \"Horlics\", Price = 120  \n        });  \n        publisher.Add(new Product  \n        {  \n            ProductName = \"Boost\", Price = 200  \n        });  \n        subscriber.UnSubscribeEvent();  \n        Console.ReadKey();  \n    }  \n} <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Program<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">static<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">void<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">Main<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\">[] <\/span><span style=\"color: #F69D50\">args<\/span><span style=\"color: #ADBAC7\">)  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F69D50\">Publisher<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">publisher<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">new<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Publisher<\/span><span style=\"color: #ADBAC7\">();  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F69D50\">Subscriber<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">subscriber<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">new<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Subscriber<\/span><span style=\"color: #ADBAC7\">(publisher);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        publisher.<\/span><span style=\"color: #DCBDFB\">Add<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">new<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Product<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            ProductName <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;Complan&quot;<\/span><span style=\"color: #ADBAC7\">, Price <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">20<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        });  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        publisher.<\/span><span style=\"color: #DCBDFB\">Add<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">new<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Product<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            ProductName <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;Horlics&quot;<\/span><span style=\"color: #ADBAC7\">, Price <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">120<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        });  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        publisher.<\/span><span style=\"color: #DCBDFB\">Add<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">new<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Product<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        {  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            ProductName <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;Boost&quot;<\/span><span style=\"color: #ADBAC7\">, Price <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">200<\/span><span style=\"color: #ADBAC7\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        });  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        subscriber.<\/span><span style=\"color: #DCBDFB\">UnSubscribeEvent<\/span><span style=\"color: #ADBAC7\">();  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        Console.<\/span><span style=\"color: #DCBDFB\">ReadKey<\/span><span style=\"color: #ADBAC7\">();  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">} <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Main\uc5d0\uc11c Publisher\uc758 Add()\ub97c \ud638\ucd9c\ud560 \ub54c\ub9c8\ub2e4, publisher.OnChange() \uac00 \ubd88\ub9ac\uace0, OnChange()\uc5d0\uc120  event\ub97c \uccb4\ud06c\ud558\ub294\ub370 subscriber\uac00 \uc0dd\uc131\ub420 \ub54c \ub4f1\ub85d\ud574\ub193\uc740 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\uac00 \uc788\uc73c\ubbc0\ub85c \ubd88\ub7ec\uc8fc\uac8c \ub418\uace0, \ucd5c\uc885\uc801\uc73c\ub85c subscriber.publishers_productAddedInfo() \uac00 \ud638\ucd9c\ub41c\ub2e4.<\/p>\n\n\n\n<p>\uc608\uc81c \uc18c\uc2a4 : <a href=\"https:\/\/www.c-sharpcorner.com\/UploadFile\/1c8574\/events-in-C-Sharp\/\">https:\/\/www.c-sharpcorner.com\/UploadFile\/1c8574\/events-in-C-Sharp\/<\/a> \uc778\uc6a9. \uc775\uc219\ud558\uc9c0 \uc54a\uc544\uc11c \uc798 \uc77d\ud788\ub294 \uc608\uc81c\ub97c \uac00\uc838\uc654\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Indexers<\/h3>\n\n\n\n<p>\ub108\ubb34 \uc0c8\ub85c\uc6b4 \uac1c\ub150\uc778\ub370, class, \ub97c \ubc30\uc5f4\ucc98\ub7fc \uc0ac\uc6a9\ud558\uac8c \ud574\uc900\ub2e4. indexer\uc758 \uc120\uc5b8\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>public int this&#91;int index&#93;    \/\/ Indexer declaration  \n{  \n    \/\/ get and set accessors  \n}  <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">this<\/span><span style=\"color: #ADBAC7\">&#91;<\/span><span style=\"color: #F69D50\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">index<\/span><span style=\"color: #ADBAC7\">&#93;    <\/span><span style=\"color: #768390\">\/\/ Indexer declaration  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">    \/\/ get and set accessors  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}  <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc0ac\uc6a9\uc608\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4. <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>class TempRecord\n{\n    \/\/ Array of temperature values\n    private float[] temps = new float&#91;10&#93; { 56.2F, 56.7F, 56.5F, 56.9F, 58.8F, \n                                            61.3F, 65.9F, 62.1F, 59.2F, 57.5F };\n\n    \/\/ To enable client code to validate input \n    \/\/ when accessing your indexer.\n    public int Length\n    {\n        get { return temps.Length; }\n    }\n    \/\/ Indexer declaration.\n    \/\/ If index is out of range, the temps array will throw the exception.\n    public float this&#91;int index&#93;\n    {\n        get\n        {\n            return temps&#91;index&#93;;\n        }\n\n        set\n        {\n            temps&#91;index&#93; = value;\n        }\n    }\n}\n\nclass MainClass\n{\n    static void Main()\n    {\n        TempRecord tempRecord = new TempRecord();\n        \/\/ Use the indexer's set accessor\n        tempRecord&#91;3&#93; = 58.3F;\n        tempRecord&#91;5&#93; = 60.1F;\n\n        \/\/ Use the indexer's get accessor\n        for (int i = 0; i &lt; 10; i++)\n        {\n            System.Console.WriteLine(\"Element #{0} = {1}\", i, tempRecord&#91;i&#93;);\n        }\n\n        \/\/ Keep the console window open in debug mode.\n        System.Console.WriteLine(\"Press any key to exit.\");\n        System.Console.ReadKey();\n    }\n}\n\/* Output:\n        Element #0 = 56.2\n        Element #1 = 56.7\n        Element #2 = 56.5\n        Element #3 = 58.3\n        Element #4 = 58.8\n        Element #5 = 60.1\n        Element #6 = 65.9\n        Element #7 = 62.1\n        Element #8 = 59.2\n        Element #9 = 57.5\n    *\/<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">TempRecord<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">    \/\/ Array of temperature values<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">private<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">float<\/span><span style=\"color: #ADBAC7\">[] <\/span><span style=\"color: #F69D50\">temps<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">new<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">float<\/span><span style=\"color: #ADBAC7\">&#91;<\/span><span style=\"color: #6CB6FF\">10<\/span><span style=\"color: #ADBAC7\">&#93; { <\/span><span style=\"color: #6CB6FF\">56.2F<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">56.7F<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">56.5F<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">56.9F<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">58.8F<\/span><span style=\"color: #ADBAC7\">, <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">                                            <\/span><span style=\"color: #6CB6FF\">61.3F<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">65.9F<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">62.1F<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">59.2F<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #6CB6FF\">57.5F<\/span><span style=\"color: #ADBAC7\"> };<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #768390\">    \/\/ To enable client code to validate input <\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">    \/\/ when accessing your indexer.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">Length<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">get<\/span><span style=\"color: #ADBAC7\"> { <\/span><span style=\"color: #F47067\">return<\/span><span style=\"color: #ADBAC7\"> temps.Length; }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">    \/\/ Indexer declaration.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">    \/\/ If index is out of range, the temps array will throw the exception.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">public<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">float<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">this<\/span><span style=\"color: #ADBAC7\">&#91;<\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">index<\/span><span style=\"color: #ADBAC7\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">get<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            <\/span><span style=\"color: #F47067\">return<\/span><span style=\"color: #ADBAC7\"> temps&#91;index&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">set<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            temps&#91;index&#93; <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> value;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">class<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">MainClass<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">static<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">void<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">Main<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F69D50\">TempRecord<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">tempRecord<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">new<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">TempRecord<\/span><span style=\"color: #ADBAC7\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        \/\/ Use the indexer&#39;s set accessor<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        tempRecord&#91;<\/span><span style=\"color: #6CB6FF\">3<\/span><span style=\"color: #ADBAC7\">&#93; <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">58.3F<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        tempRecord&#91;<\/span><span style=\"color: #6CB6FF\">5<\/span><span style=\"color: #ADBAC7\">&#93; <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">60.1F<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        \/\/ Use the indexer&#39;s get accessor<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        <\/span><span style=\"color: #F47067\">for<\/span><span style=\"color: #ADBAC7\"> (<\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">i<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">0<\/span><span style=\"color: #ADBAC7\">; i <\/span><span style=\"color: #F47067\">&lt;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">10<\/span><span style=\"color: #ADBAC7\">; i<\/span><span style=\"color: #F47067\">++<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            System.Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Element #{0} = {1}&quot;<\/span><span style=\"color: #ADBAC7\">, i, tempRecord&#91;i&#93;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        \/\/ Keep the console window open in debug mode.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        System.Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Press any key to exit.&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        System.Console.<\/span><span style=\"color: #DCBDFB\">ReadKey<\/span><span style=\"color: #ADBAC7\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">\/* Output:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        Element #0 = 56.2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        Element #1 = 56.7<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        Element #2 = 56.5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        Element #3 = 58.3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        Element #4 = 58.8<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        Element #5 = 60.1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        Element #6 = 65.9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        Element #7 = 62.1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        Element #8 = 59.2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">        Element #9 = 57.5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">    *\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc0ac\uc6a9\uc608\ub97c \ubcf4\uba74, attributes\uac00 \uc0dd\uac01\ub09c\ub2e4. \uac1d\uccb4\uc5d0 \ubc30\uc5f4\uacfc \uac19\uc774 \uc0ac\uc6a9\ud558\ub294 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ub9cc\ub4e4\uc5b4 \uc900\ub2e4\uace0 \uc0dd\uac01\ud558\uba74 \ub420 \uac70 \uac19\ub2e4. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Lambda<\/h3>\n\n\n\n<p>C# \uc5d0\uc11c\ub3c4 lambda expression\uc744 \uc9c0\uc6d0\ud55c\ub2e4. Kotlin\uacfc \ud06c\uac8c \ub2e4\ub974\uc9c0 \uc54a\uc740\ub370, &#8216;-&gt;&#8217; \ud654\uc0b4\ud45c \ub300\uc2e0 &#8216;=&gt;&#8217; \ud654\uc0b4\ud45c\ub97c \uc0ac\uc6a9\ud55c\ub2e4. &#8230;\uc774\ub7f0\uac74 \uc880 \ud558\ub098\ub9cc \uc4f0\uc790. \ud53c\uace4\ud558\ub2e4\uace0 \u314b <a href=\"https:\/\/docs.microsoft.com\/ko-kr\/dotnet\/csharp\/programming-guide\/statements-expressions-operators\/lambda-expressions\">https:\/\/docs.microsoft.com\/ko-kr\/dotnet\/csharp\/programming-guide\/statements-expressions-operators\/lambda-expressions<\/a> \ucc38\uc870.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>Action line = () => Console.WriteLine();<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F69D50\">Action<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">line<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> () <\/span><span style=\"color: #F47067\">=&gt;<\/span><span style=\"color: #ADBAC7\"> Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">();<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>Func&lt;int, string, bool> isTooLong = (int x, string s) => s.Length > x;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F69D50\">Func<\/span><span style=\"color: #ADBAC7\">&lt;<\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F47067\">bool<\/span><span style=\"color: #ADBAC7\">&gt; <\/span><span style=\"color: #F69D50\">isTooLong<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> (<\/span><span style=\"color: #F47067\">int<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">x<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">s<\/span><span style=\"color: #ADBAC7\">) <\/span><span style=\"color: #F47067\">=&gt;<\/span><span style=\"color: #ADBAC7\"> s.Length <\/span><span style=\"color: #F47067\">&gt;<\/span><span style=\"color: #ADBAC7\"> x;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc5ec\ub7ec\uc904\uc758 \ucf54\ub4dc\uc77c \uacbd\uc6b0 &#8216;{ }&#8217;\ub85c \ubb36\uc5b4\uc900\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>Action&lt;string> greet = name => \n{ \n    string greeting = $\"Hello {name}!\";\n    Console.WriteLine(greeting);\n};\ngreet(\"World\");\n\/\/ Output:\n\/\/ Hello World!<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F69D50\">Action<\/span><span style=\"color: #ADBAC7\">&lt;<\/span><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\">&gt; <\/span><span style=\"color: #F69D50\">greet<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">name<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=&gt;<\/span><span style=\"color: #ADBAC7\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">{ <\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    <\/span><span style=\"color: #F47067\">string<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F69D50\">greeting<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">$&quot;Hello {<\/span><span style=\"color: #ADBAC7\">name<\/span><span style=\"color: #96D0FF\">}!&quot;<\/span><span style=\"color: #ADBAC7\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    Console.<\/span><span style=\"color: #DCBDFB\">WriteLine<\/span><span style=\"color: #ADBAC7\">(greeting);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">};<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCBDFB\">greet<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;World&quot;<\/span><span style=\"color: #ADBAC7\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">\/\/ Output:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #768390\">\/\/ Hello World!<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">async, await<\/h3>\n\n\n\n<p>\ube44\ub3d9\uae30 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \uc0ac\uc6a9\ub418\ub294 \uac83\ub4e4\uc774\ub2e4. <a href=\"https:\/\/docs.microsoft.com\/ko-kr\/dotnet\/csharp\/programming-guide\/concepts\/async\/\">https:\/\/docs.microsoft.com\/ko-kr\/dotnet\/csharp\/programming-guide\/concepts\/async\/<\/a> \ucc38\uc870.<\/p>\n\n\n\n<p>\uc9c0\ucce4\ub2e4. \uc77c\ub2e8 \uc5ec\uae30\uae4c\uc9c0\ub9cc \uc54c\uc544\ubcf4\uc790. \ube44\ub3d9\uae30 \ud504\ub85c\uadf8\ub798\ubc0d\ub9cc \ub530\ub85c \uc815\ub9ac\ud574\uc11c \uc62c\ub9b4\uc815\ub3c4\ub85c \uc591\uc774 \ub9ce\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">LINQ(Language-Integrated Query)<\/h3>\n\n\n\n<p>data query\ubb38\uc740 \uc5b8\uc5b4\ubb38\ubc95\uacfc \ubb34\uad00\ud558\uac8c \uc2a4\ud2b8\ub9c1\uc73c\ub85c \ucc98\ub9ac\ub418\uace4 \ud588\ub2e4. LINQ\ub294 \uc5b8\uc5b4 \ucc28\uc6d0\uc5d0\uc11c query expression\uc744 \uc9c0\uc6d0\ud55c\ub2e4. \ub9d0\uc744 \uc62e\uae30\uae34 \ud588\uc9c0\ub9cc, \uc81c\ub300\ub85c \uacf5\ubd80\ud574\ubcf8\uc801\ub3c4 \uc368\ubcf8\uc801\ub3c4 \uc5c6\ub294 \ub0b4\uc6a9\uc774\ub77c \uc5b8\uae09\ub9cc \ud558\uace0 \ub118\uc5b4\uac04\ub2e4. <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/programming-guide\/concepts\/linq\/\">https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/programming-guide\/concepts\/linq\/<\/a> \ucc38\uc870. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-dots\"\/>\n\n\n\n<p>\uac00\ubccd\uac8c \uc815\ub9ac\ud558\ub824\uace0 \uc2dc\uc791\ud588\ub294\ub370, \uc664\ucf00 \uc5b4\ub824\uc6b4 \uac1c\ub150\uc774 \ub9ce\uc740\uac74\uc9c0 \ubaa8\ub974\uaca0\ub2e4. \uc544 \ud53c\uace4\ud55c\ub370 \uc880.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>C#\uc744 \ud55c \ubc88 \ud6d1\uc5b4\ubcf4\uba74\uc11c \uc775\uc219\ud558\uc9c0 \uc54a\uac70\ub098 \ub2e4\ub978\uc5b8\uc5b4\uc640 \ud5f7\uac08\ub9b4\ub9cc\ud55c \ubd80\ubd84\ub9cc \ucd94\ub824\ubd24\ub2e4. \uc774\ub7f0\uac8c \uc788\ub2e4\uace0 \uc5b8\uae09\ud558\ub294 \uc120\uc774\uae30 \ub54c\ubb38\uc5d0, \ubaa8\ub4e0 \uc815\ubcf4\ub97c \uc5bb\uc73c\ub824 \ud558\uc9c0\ub9d0\uace0 \uad00\ub828 \ud0a4\uc6cc\ub4dc\ub97c \uc774\uc6a9\ud574 \uac80\uc0c9\ud574\ubcf4\uae30 \ubc14\ub780\ub2e4. foreach \ub300\ubd80\ubd84 \ub2e4 C\/C++\ud558\uace0 \uac19\uc740\ub370, \ub2e4\ub978 \uc5b8\uc5b4\uc5d0\uc11c \uc775\uc219\ud55c foreach\ubb38\uc774 \ucd94\uac00\ub85c \uc788\ub2e4. \ucd94\uac00\ub85c \uc788\ub2e4\uace0 \ud558\uae30\uc5d0 \uc880 \ubbfc\ub9dd\ud558\uae34 \ud55c\ub370, C++ 11\uc5d0\ub3c4 \ucd94\uac00\ub418\uc5b4 \uc9c0\uc6d0\ud558\uace0 \uc788\ub294 \ubb38\ubc95\uc774\ub2e4. https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/language-reference\/keywords\/foreach-in \ucc38\uc870. format string Kotlin, Python\uc5d0\uc11c \uc790\uc8fc\uc4f0\ub358 format [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6],"tags":[109,119,120,118,126,21,127],"class_list":["post-390","post","type-post","status-publish","format-standard","hentry","category-etc","category-unity","tag-c","tag-features","tag-syntex","tag-unity-2","tag-grammer-kr","tag-unity","tag-note-kr"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/comments?post=390"}],"version-history":[{"count":17,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/390\/revisions"}],"predecessor-version":[{"id":3430,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/390\/revisions\/3430"}],"wp:attachment":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/media?parent=390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/categories?post=390"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/tags?post=390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}