๋ฉฐ์น ์ ์ ๋๊ตฐ๊ฐ๋ฅผ ๋์์ฃผ๋ค๊ฐ ์์๋๋ฐ ๋ด๊ฐ C#์ผ๋ก๋ ๋๊ตด ๋์์ค ๋งํ ์ค๋ ฅ์ด ์๋๋ค๊ณ ์๊ฐํ๋ค. ์๋ํ๋ฉด ์์ ๋์ง๋ ๋ฒ์จ ๋ช๊ฐ์ ์งธ ๋์๊ธฐ ๋๋ฌธ์ ์๊ฐ๋ณด๋ค ๋ง์ ๋ด์ฉ์ ์์ด๋ฒ๋ ธ๋ค. ๊ทธ ๋์ ๋๋ฌด Lua์ ์ ์ ์ด ํ๋ ค ์์์ด.
๋๋ถ์ ๋ค์ ๋ณต์ต์ ํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์์ด. ์ข์ ์๊ฐ์ด๋ค. ๋๋ ์ธ์ ๋ ์๊ฐํ์ง๋ง ๊ณต๋ถ๋ผ๋ ๊ฒ์ ์ฑ ์ ์ฑ ์ ์์ ๋๊ณ ๋ ๋๋๊ฒ ์๋๋ผ ํผ์ณ์ ๋ณด๋๊ฑฐ๋ผ๊ณ ์๊ฐํ๊ธฐ์, ๊ทธ๊ฒ ์ ์๋ ๋ฟ์ด์ง๋ง.
๊ทธ๋์ ์ค๋๋ถํฐ๋ผ๋ ๋ค์ ๊ณต๋ถ๋ฅผ ์์ํ๊ธฐ๋ก ํ์ด. ์๋๋ ๋ด์ผ๋ถํฐ ํ ๋ ค๊ณ ํ์ง๋ง ๋ด์ผ์ด ๋๋ฉด ๋ ์์ด๋ฒ๋ฆด ๊ฒ ๊ฐ์.
์ฌ๊ธฐ์ ๋์ผ๋ฉด ๊ทธ๋ฅ ์์์ ํ๋ฆ๋๋ก ์ด ๋ป๊ธ์ด ๋๊ณ ์ผ์๊ธ์ ์ฐ๋ ๊ฒ์ ๊ฐค ๋ถ์๊ธฐ๋ ์ ๋ง์ผ๋๊น C# ์ ๋ณด๋ฅผ ๋ช ๊ฐ์ง ๊ณต์ ํ๊ณ ๊ฐ๋ค.
1. ํ์
์ ๋ช
์ํ์ ๊ฒฝ์ฐ, ์์ฑ์๋ฅผ new();๋ก ๊ฐ๋จํ๊ฒ ์ธ ์ ์๋ค.
2. ๋ฌธ์์ด ์์ ๊ฐ์ ๋ฃ์ด์ผ ํ ๋๋ ToString() ํด์ ํฉ์น์ง ๋ง๊ณ ๋ฌธ์์ด ๋ณด๊ฐ(string interpolation)์ ์ฌ์ฉํ์.
3. using ๋ฌธ์ผ๋ก ์๋ ์์ ์ ๋ฆฌ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.
4. null ๊ฒ์ฌ์ ์คํจํ์ ๋ ์์ธ๋ฅผ ๋ฐ์์ํค๊ฒ ํ๋ ค๋ฉด _ = arg ?? throw new ...;๋ฅผ ์ฌ์ฉํ ์ ์๋ค. (discards standalone)
5. ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ ๋ช
๋ช
๋ ์ธ์(named argument)๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ฌ๋๊น ๋ฉ์๋ ์ด๋ฆ์ ๊ฐํ์ผ๋ก ์ง์ผ๋ฉด ๋์ค์ ๋ช
๋ช
๋ ์ธ์๋ ๊ฐํ์ด ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
๋์์๋ ๊ณต๋ถ = ๋์์๋ ๊ณ ํต!!!