๊ฑฐ๋ํ ํด๋์ค/๋ฉ์๋์ ๊ฒฝ์ฐ
์ง๋ฌธํ์ ๋ด์ฉ์ด ์ฌ์ค ์ด๋ฒ ๊ฐ์ ์ ์ฒด์ ๊ฑธ์ณ์ ๋์ค๋ ํต์ฌ์ ์ธ ๋ด์ฉ์
๋๋ค. ์ข์ ์ฝ๋๋ฅผ ๋ง๋ ๋ค๋ ๊ฒ์ ๊ฒฐ๊ตญ ์ข์ ํจ์(๋ฉ์๋)๋ฅผ ๋ง๋๋ ๊ฑฐ๋ผ๊ณ ์์ฝํ ์ ์๊ณ , ์ข์ ํจ์๋ฅผ ๋ง๋๋ ๊ธฐ์ค์ด ์๋ง๋ ์ง๋ฌธํ์ ๋ด์ฉ์ ๋ํ ๋ต์ด ๋๊ฒ ์ง์. ๊ทธ๋์, ๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ๊ฐ๋ค๋ณด๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๋ต์ ์ป์ผ์ค ์ ์์ ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค๋ง, ๊ทธ๋๋ ๊ฐ๋จํ๊ฒ ์ ๊ด์ ์ ์ค๋ช
ํด ๋ณด๊ฒ ์ต๋๋ค.์ฐ์ , ์ ์ ํ ํจ์์ ํฌ๊ธฐ, ํจ์๋ฅผ ์ธ์ , ์ด๋ป๊ฒ ์ชผ๊ฐ์ผ ํ ๊ฒ์ธ๊ฐ์ ๋ํด์ ์ ๋ ๋ณ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ง์ด ๋ก๋๋ค. ํนํ ์ง์ญ๋ณ์ ํ ๋น์ด ๋ง๊ฑฐ๋, ์ธ์๊ฐ ๋ง์ผ๋ฉด ํจ์์ ์ญํ ์ ์ ์ ํ๊ฒ ๋๋ ์ผ ํ๋ ์์ ์ด๋ผ๊ณ ๋ณด๊ตฌ์. ๋๋๋ ๋ฐฉํฅ๋ ๋ณ์ ํ ๋น์ ์ค์ด๊ฑฐ๋ ์ธ์์ ๊ฐ์๋ฅผ ์ค์ผ ์ ์๋ ๋ฐฉํฅ์ ๋จผ์ ๋ด
๋๋ค.๋ฉ์๋๋ ์ฌ๊ธฐ์ ๋ฉค๋ฒ ๋ณ์๋ผ๋ ๊ธฐ์ค์ด ์ถ๊ฐ๋ฉ๋๋ค. ์ฃผ๋ก ์ฌ์ฉํ๋ ๋ณ์๊ฐ ๊ทธ ๋ฉ์๋๊ฐ ์ํ ํด๋์ค์ ๋ฉค๋ฒ๋ผ๋ฉด ๋ณ ๋ฌธ์ ์๋ ์ํฉ์ธ๋ฐ, ๋ค๋ฅธ ํด๋์ค์ ๋ฉค๋ฒ ๋ณ์๋ ๋ฉ์๋๋ฅผ ๋ง์ด ํธ์ถํ๋ค๋ฉด ๋ฉ์๋๊ฐ ์ํ ์์น๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ผ๋ถ๋ถ ๋ถ๋ฆฌํด์ผ ํ๋ค๋ ์ ํธ์ผ ์ ์์ต๋๋ค.๋ฐ๋๋ก, ๊ทธ๋ฐ ์์ธ์ด ์๋ค๋ฉด ๋จ์ํ ํด๋์ค๊ฐ ํฌ๋ค๋ ์ด์ ๋ก ๋ฉ์๋๋ฅผ ๋ค๋ฅธ ํด๋์ค๋ก ๋ถ๋ฆฌํ์ง ์์ต๋๋ค. ์๋ก ๋์ CRUD๋ฅผ ๋ด๋นํ๋ ์๋น์ค๋ผ๋ฉด ๊ตณ์ด R๊ณผ CUD๋ก ๋๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ณด๋ค๋ R์ด ์ ๋ณต์กํด์ก๋์ง๋ฅผ ์ข๋ ๋ถ์ํด๋ณด๊ณ ๋ถ๋ฆฌํ ์ ์๋ ๋ถ๋ถ์ ์ฐพ์๋ด๋ ค๊ณ ํ ๊ฒ ๊ฐ์ต๋๋ค.์ด๋ ๊ฒ ๋ถ๋ฆฌํ ๋๋ ๊ทธ๋ฅ ์ฝ๋ ์ผ๋ถ๋ถ์ ๊ทธ๋๋ก extract methodํ๊ฒ ๋๋ฉด ๋ ๊ตฌ์กฐ๋ฅผ ๋์๊ฒ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์, extract method๋ฅผ ํ๊ณ ๋์ ๋ณ์๋ฅผ ์ค์ผ ์ ์๋์ง, public์ผ๋ก ํด๋ ์ ์ตํ ๋ฉ์๋๊ฐ ๋ ์ ์๋์ง ๋ฑ์ ๋ฐ์ ธ๋ด
๋๋ค.์ด๋ฐ ๊ด์ ์์ ์ ๊ฐ์๋ฅผ ๋ฐ๋ผ๋ด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.