๋ด๊ฐ C#์ ๋ฐฐ์ฐ๋ฉด์ ์ ๋๊ฒ ์ ๊ธฐํ๋ค ๋ผ๊ณ ๋๋ ๊ธฐ๋ฅ์ด ๋ช๊ฐ ์์์
1. switch-case๋ฌธ์์ ๋งค ๋ถ๊ธฐ๋ง๋ค break ํน์ return์ด ๊ฐ์ ๋จ
๊ทธ๋ฌ๋๊น
case1:
case2:
case3:
break;
์ด๋ฐ ํํ์ ์ค์์น๋ฌธ์ ์์ ๋ฌธ๋ฒ์ ์ผ๋ก ๋ง์๋ฒ๋ ธ๋ค๊ฒ ์ถฉ๊ฒฉ์ด์์
์์งํ ์ ๋ ๊ฒ ์ผ์ด์ค ์ค์ฒฉํด์ ๋ด๋ ค๊ฐ๋๊ฒ ์ง์ง ํด๋จผ์๋ฌ ๋๊ธฐ ๋ฑ ์ข์ ๋ฌธ๋ฒ์ด๊ธฐ๋ ํ๊ณ ,
ํฐ์ก์๋ ๋จ์ง ์์ ๋ญ๊ฐ ์์๋์ ๋ฐ๋ผ ์ ํ ์๊ด์๋ ์ด์ํ๊ฒ ์คํ๋๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ ์น๋ช ์ ์ผ๋๊ฐ ๋ง์์
์ญ์ ์ต๊ทผ์ ๋์จ ์ธ์ด๋ผ ๊ทธ๋ฐ์ง ์ ๋ฐ ํด๋จผ์๋ฌ๋ฅผ ์์ฒ๋ด์ํ๋๊ตฌ๋ ์๊ฐํ๋ฉด์ ์ผ์์. ๊ทผ๋ฐ ์์งํ ์ฐ๋ค๋ณด๋ ๋๋ฌด ๋ถํธํด์ ์ค์์น ์์ฒด๋ฅผ ํผํ๊ฒ๋๋๋ผ
2. ์ฐ์ฐ์ ??= ์ ์คํ ๋ถ๊ธฐ
์ฝ๋ฉํ๋ค๋ณด๋ฉด ๋๊ฐ ์ฒดํฌํด์ ๋ฃ์์ผ์ด ๋ง์์. ์ด ์ฐ์ฐ์์ ์ง๊ฐ๋ ๋จ์ํ ๋์ฒดํฌํด์ ๋น์์ผ๋ฉด ๋ฃ๋๋ค๊ฐ ์๋
a ??= b.transformSelf();
๋ฐ๋ก ์ ๋ฌธ์์ a๊ฐ null์ผ๊ฒฝ์ฐ b์ transformSelf()๋ ์คํ์กฐ์ฐจ ๋์ง ์๋๋ค๋๊ฑฐ์ผ.
์ผ์ข ์ ์ผํญ์ฐ์ฐ์์ฒ๋ผ ๋์ฒดํฌ์ ๋์์ ๋ถ๊ธฐ๋ฌธ ์ญํ ๋ ํ๋๊ฑฐ์.
๊ฐ๋ ์ฑ๋ ์ ํ ํด์น์ง ์์ผ๋ฉด์ ๋์ค ์ธ์ค๋์ฌ๊ฑธ ์งง์ ํ์ค๋ก ์ค์ฌ์ค๋ค๋ ๋ง์ด์ผ
์ ์๋ธ ์ด๋ป๊ฒ ์ด๋ ๊ฒ ์ด๊ฑธ ์ฐ์ฐ์๋ก ๋ง๋ค ์๊ฐ์ ํ์๊น? ์ง์ง ๊ฐํํ๋ฉด์ ์ฌ๋ฌ๋ฒ ์ผ์์
๊ทผ๋ฐ C#์๋ ๊ทธ๋ณด๋ค ์ถฉ๊ฒฉ์ ์ธ ์ฌ์ค์ด ์๋๋ฐ ๊ทธ๊ฑด ์ฌ์ค ์์ ๋ด๊ฐ ๋งํ ๊ธฐ๋ฅ๋ค์ ์กด์ฌํ์ง ์๋๋ค๋๊ฑฐ์.
switch๋ ๊ทธ๋ฅ ํ ์ธ์ด์ฒ๋ผ ์ค์ฒฉํด์ ๋ด๋ ค์ฌ ์ ์๊ณ
??= ์ฐ์ฐ์๋ ๋ ์ฌ๋ถ์ ์๊ด์์ด rvalue๋ฌธ์ ์คํํจ
๋ด๊ฐ ๋ญ ๋ค๋ฅธ ๊ธฐ๋ฅ์ด๋ ํท๊ฐ๋ ธ๋? ์๋๋ฉด ๊ฟ์ด๋ผ๋ ๊ฟจ๋?
๋จ์ํ ๊ฟ์ด๋ผ๊ธฐ์ ํนํ 2๋ฒ์ ์ ๊ธฐํด์ ์์๊ฑฐ๋ฆฌ๋ฉด์ ํ ์คํธ๋ ์กด๋ ๋๋ ค๋ณธ ๊ธฐ์ต์ด ๋๋ฌด ์์ํ๋ฐ
๋๋์ฒด ๋ญ๋ ํท๊ฐ๋ฆฐ๊ฑฐ์ง???
์ ์ ๋ณ์ ์ณ๋ด
??= ์ ๊ทธ๋ฐ๊ฒ ์์์ด? ํ๋๋ฐ ์๊ตฌ๋...
๋ค์์ฃผ ๋ณ์ ์์ฝํ ๋ ๋ค ์๋ฆฌ๋ ๊ฐ์ด ์์ฝํด๋์๊ป
1์ ๊ฒฝ์ฐ pattern matching์ ํ์ฉํ๋ฉด ๋์์ง. case ๊ฐ์ ๋ก์ปฌ๋ณ์๋ก ๋ง๋ค์ด ์กฐ๊ฑด์ ๊ฑธ์๋ ์์
ํฐC# ์ณ๋ด~
๊ตฌ๊ธ์ ์ณ๋ณด๋๊น ๋์ค๋๋ฐ?
๊ทธ๋ผ ์ ๋ง๋ก ๊ณผ๊ฑฐ์๋ ์กด์ฌํ๋ ๊ธฐ๋ฅ์ด๊ฑฐ๋ ๊ทธ๋ฐ๊ฑฐ์?