๋ก์ปฌํจ์ ์ฐ๋ค๊ฐ ๊ณ ๋ฏผ์ด ์๊น.
์์ ์๋ #region ์ฌ์ฉํด์ ๋ฌถ์ด์ฃผ๋ฉด ๊น๋ํด ๋ณด์ด๋ ๊ฒ ๊ฐ์์ ์ฌ์ฉํ๋๋ฐ,ย ๋์ค์ ๋๋๊ฒ ์คํ๋ ค ๋์กํ๋ค๊ณ ๋๊ผ์.
partial๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋๋ ์ฃผ๊ธด ํ์ง๋ง region๊ณผ ์ ์ฌํ๊ฒ ๊ฒฐ๊ตญ ํ ํด๋์ค๋ฅผ ์ฝ๊ธฐ ํธํ๊ฒ ๋๋๊ฒ ๋ฟ์ด๋๊น.
๋ง์ ์ผ์ ํ๋ ํจ์๋ฅผ ์ฌ๋ฌ ๊ฐ์ ํจ์๋ก ์ชผ๊ฐ์ฃผ์๋๋ฐ,
ํ ํจ์์์๋ง ์ฌ์ฉ๋๋ ํจ์๊ฐ ๊ตณ์ด ๋ฐ์์ ์ธ์ ๋ฐ์์ ํธ์ถ๋ ํ์๊ฐ ์์ด๋ณด์ฌ์
๋ก์ปฌ ํจ์๋ก ๋ด๋ถ์์ ์ฌ์ฉ์ ํ๋๊ฒ ๋ ๊น๋ํ๊ฒ ๋ค ์ถ์์.
๋ฌธ์ ๋ ๋ก์ปฌํจ์๋ก ์ธ์ ์ ๋ฐ๊ณ ์ฌ์ฉํ๋ค๋ณด๋
์ง์ญ๋ณ์๋ฅผ ๋ก์ปฌํจ์์์ ์ฌ์ฉํด๋ ํ๋ผ๋ฏธํฐ๋ก ๋ค์ด๊ฐ์ง ์์์ผ๋ ๊ฒ๋ณด๊ธฐ์๋ ์ง์ญ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์์ ๊ฒ ๊ฐ์์ ํท๊ฐ๋ฆฌ๋ ๋๋?
์๋ฅผ ๋ค๋ฉด,
private int CalculateA(int num){
Add();
Multiply();
Add();
return num;
void Add() => num+=3;
void Multiply() => num *=3;
}
๋จ์ํ ์ฌ์ฉ์์๋ก ํจ์๊ฐ ์๋ค๊ณ ํ๋ฉด
์ธ์๋ก num์ ์ ๋ฌํด์ฃผ์ง ์์์ผ๋ ํจ์์์ num์ ๊ฑด๋๋ฆฌ์ง ์์๋ค๊ณ ์๊ฐํ๊ฒ ๋๋ฒ๋ฆผ.
์ด๊ฑด ๋ก์ปฌ ํจ์๋ฅผ ํจ์๋์ ๋ค๋ฅธ ๋๋์ผ๋ก ์ธ์งํด์ผํ ๊น,ย static ๋ก์ปฌ ํจ์๋ก ์ ์ธํด์ ์ธ์๋ฐ๊ณ ์ฌ์ฉํด์ผ ํ ๊น?
์๋๋ฉด ๊ทธ๋ฅ ๋ก์ปฌํจ์ ์ฌ์ฉ์ ๋ณดํต ์ํ๋?
ํจ์์์ ํจ์๊ฐ ๋ก์ปฌ์ธ๊ฐ ใทใท ์ฒจ์์
๋๋ฆ ์ฃผ์๋์ ์ฌ์ฉํ๊ธฐ ์ข์ !
ํจ์์์ ํจ์์์ ํจ์์์ ํจ์์์ ํจ์์์ ํจ์์์...
ํจ์์์ ํจ์์์ ํจ์๊น์ง๋ ํด๋ณด์๋ฐ
๋ฆฌํฉํ ๋ง์ด๋ ์ฑ ์์ ๋ก์ปฌ ํจ์๊ฐ ์ด๋ป๊ฒ ์ฐ์ผ ์ ์๋์ง ์ ๋์ด
์ฌ์ผํ๋ ๊ฒ์ธ๊ฐ...!
๋ก์ปฌ ํจ์ ๊ด๋ จ ๋ด์ฉ ์๋๋ผ๋ ๋๊ฒ ์ข์ ๋ด์ฉ ๋ง์์ ์ฌ๋ฉด ๋ฌด์กฐ๊ฑด ์ข์๋ฏ?
๋ชฉ์ฐจ๋ดค๋๋ฐ ๋๋ ํ๋์ ์ฐํด๋๊ฒ์ด์์..
ํฌ๊ฒ ๋ ๊ฐ์ง ์ด์ ๊ฐ ์๋๋ฐ ํ๋๋ ๋งฅ๋ฝ์ ๊ทธ ํจ์ ์ฌ์ฉ์ฒ๊ฐ ๋งค์ฐ ๋๋ ทํ ๋ (๊ทธ ํจ์ ๋ฐ๊นฅ์์๋ ์ฌ์ฌ์ฉ ๋์ง ์์์ด ๋ถ๋ช ํด์), ๋๋ฒ์งธ๋ ํจ์๋ฅผ ์ธ์๋ก ๋๊ธธ ๊ณณ์ ๋๋ค ๋์ ์ฌ์ฉํ ๋์. ๋ณดํต ๋ก์ปฌ ํจ์๋ ๋๋ค์ฒ๋ผ ํด๋ก์ ๊ฐ ๋ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ๋์ถฉ ๋๋ค ๋ณ์ ๋์ ์ ๋ฌธ๋ฒ ์คํ์ผ๋ก ์ธ ์ ์์
์ ์ง๋ฌธ์ผ๋ก ๋ณด์๋ฉด, ์ด๋ฒคํธ ๋ฐ์ธ๋ฉ ์ด์ฌํ ํ๊ฑฐ๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐํ ๋๋ ๋ ๋ฒ์งธ ์ผ์ด์ค๊ฐ ๋ง์๋ฐ, ๋ญ ์ด๊ฒ๋ ๋๋ค๋ก ๋์ฒด ๊ฐ๋ฅํ๊ธฐ๋ ํ๊ณ ์ฒซ ๋ฒ์งธ ์ผ์ด์ค๋ ํํ์ง ์์. ํ์ํ ์๊ฐ์ ์ฐ๋ฉด ๊ฐ๋ ์ฑ์ ๋ฏธ์ฝํ๊ฒ ์ฌ๋ฆด ์ ์๋๋ฐ ๊ทธ๋ฐ ์ผ์ด์ค๊ฐ ๋ณ๋ก ์์ ๊ฒฐ๋ก ์ ์ผ๋ก ์ ์ ์
์ ์ฝ๋๋ก ๋ณด์๋ฉด ๊ทธ๋ค์ง ์ข์ ์ฌ์ฉ๋ฒ์ ์๋. Add, Multiply๋ก ์ถ์ํ ํ๋๋ฐ ์ค์์ Add, Multiply์ ๊ตฌํ์ ๊ผผ๊ผผํ๊ฒ ์ ๋ณด๋ฉด ๋์์ ์คํดํ๊ธฐ ์ฌ์์ ๊ตฌํ์ ๋ํ ์ดํด๊ฐ ๊ฐ์ ๋๊ธฐ์ ์ถ์ํ์ ํจ๊ณผ๊ฐ ๋ ์๊ฐ
์์ธํ ์ค๋ช ๊ฐ์ฌํฉ๋๋ค. ๋๋ฒ์งธ ๊ฒฝ์ฐ๋ก ๋๋ค์์ด ๋์ธ์ค์ด์์ธ ๊ฒฝ์ฐ ๋นผ์ฃผ์์๋๋ฐ ๊ด์ฐฎ์ ๊ฒ ๊ฐ๋๋ผ๊ณ ์. ์ฌ์ฉํด๋ณด๋ฉด์ ์ ์ฝํ๋ ๊ฒฝ์ฐ๋ ์๊ณ ์ ์ ์ฝํ๋ ๊ฒฝ์ฐ๋ ์๋๋ฐ, ๊ทธ๊ฑธ ์ ์บ์นํด์ผ๊ฒ ๋ค์!