๋์๋๋ฉด ๋น์ฅ ๊ฐ์๋ผ.
- ์ด๋ป๊ฒ ํ๋์ง์ ๋ํด์ ์ง๊ธ๊น์ง ๋ฐฐ์ ๋ค.
- ํ์ง๋ง, โ์ธ์ โ ์์ํ๊ณ ๊ทธ๋งํ ์ง๋ฅผ ํ๋จํ๋ ๊ฒ์ ๋ ๋ค๋ฅธ ์๊ธฐ๋ค.
- ์ด๋ค โ๋์โ๋ฅผ ๋งก์์ ๋ ์์ ๋์ผํ ๊น?
๊ธฐ์ดํ ์ด๋ฆ
- ์ด๋ฆ์ผ๋ก ์ด๊ฒ ๋ญํ๋ ๊ฒ์ธ์ง ๋ฑ ๋ณผ ์ ์๊ฒ ์์ฑํด์ผ ํ๋ค.
- ์์ฝ๊ฒ๋ ์ด๋ฆ ์ง๊ธฐ๋ ํ๋ก๊ทธ๋๋ฐ์์ ๊ฐ์ฅ ์ด๋ ต๊ธฐ๋ก ์๊ผฝํ๋ ๋ ๊ฐ์ง์ค ํ๋๋ค.
- ์ด๋ฆ์ด ์ ๋๋ก ์๋ ์ค๋ฅด๋ฉด ์ค๊ณ์ ๋ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๊ฐ ์์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
์ค๋ณต ์ฝ๋
- ์ฝ๋๊ฐ ์ค๋ณต๋๋ฉด ํ๋๋ก ํตํฉํ์.
- ์ค๋ณต๋๋ฉด ๊ฐ๊ฐ์ ๋ณผ ๋๋ง๋ค ์๋ก ์ฐจ์ด์ ์ ์๋์ง ์ฃผ์ ๊น๊ฒ ์ดํด๋ด์ผ ํ๋ค๋ ๋ถ๋ด์ด ์๊ธด๋ค.
๊ธด ํจ์
- ์ค๋๊ธฐ๊ฐ ์ ๋์ํ๋ ํ๋ก๊ทธ๋จ๋ค์ ์งง์ ํจ์์ ๋ค๋ฐ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ์งง๊ฒ ํจ์๋ฅผ ๊ตฌ์ฑํ๋ฉด ์ฝ๋๋ฅผ ์ดํดํ๊ณ , ๊ณต์ ํ๊ณ , ์ ํํ๊ธฐ ์ฌ์์ง๋ค.
- ์์ ์ธ์ด์์๋ ์๋ธ๋ฃจํด์ ํธ์ถํ๋ ๋น์ฉ์ด ์ปค, ์งง์ ํจ์๋ฅผ ๊บผ๋ ธ๋ค.
- ํ์ง๋ง, ์์ฆ์ ํ๋ก์ธ์ค ์์์ ํจ์ ํธ์ถ ๋น์ฉ์ด ๊ฑฐ์ ์๋ค.
- ์ฃผ์์ ๋ฌ ๋ฐ์ ํจ์๋ฅผ ์ชผ๊ฐ๋ผ.
- ํจ์ ์ด๋ฆ์ ์๋๋ฅผ ๋ด์๋ผ.
- ์ด๋ฐ ์ถ์ถ์ ๋ฐฉ๋ฒ์ ์๋ ๋ง์ ๋ค์ชฝ์ ์ค๋ช ํ๋๋ก ํ๊ฒ ๋ค.
๊ธด ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก
- ์ํ๊ฐ์ ์์ ๊ณ ํ๋ผ๋ฏธํฐ๋ก ๋ค ๋๊ฒจ๋ฒ๋ฆฌ๋๊ฒ ๋์ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- ๊ทธ๋ฐ๋ฐ ํ๋ผ๋ฏธํฐ ๊ฐ์๊ฐ ๊ณ์ํด์ ๋์ด๋๋ ๊ฒ์ ๊ทธ๋ฅ ๋๋ ๊ฒ๋ ๋ฌธ์ ๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ โ๋งค๊ฐ๋ณ์๋ฅผ ์ง์ ํจ์๋ก ๋ฐ๊พธ๊ธฐโ, โ๊ฐ์ฒด ํต์งธ๋ก ๋๊ธฐ๊ธฐโ, โ๋งค๊ฐ๋ณ์ ๊ฐ์ฒด ๋ง๋ค๊ธฐโ ๋ฑ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค.
์ ์ญ ๋ฐ์ดํฐ
- ์ ์ญ๋ฐ์ดํฐ๋ ๋งค์ฐ ์ฃผ์ํด์ผ ํ๋ค.
- ์ฝ๋ ๋ฒ ์ด์ค ์ด๋์์๋ ๊ฑด๋๋ฆด ์ ์์ด ๋๊ฐ ๋ฐ๊ฟจ๋์ง ์ฐพ์๋ผ ๋ฉ์ปค๋์ฆ์ด ์๋ค.
- ์์ ์ฝํ๊ณผ ๊ฐ์ ํํ๋ผ ๋ณผ ์ ์๋ค. ๋ฉ๋ฆฌ ๋จ์ดํธ๋ ค๋์๋ ์ํ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ผ๋๊น.
๊ฐ๋ณ ๋ฐ์ดํฐ
- ์ํ๊ฐ์ ๋๋ฉด ๋ฒ๊ทธ๋ก ์ด์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๋ค.
- ์ด๋ฐ ์ด์ ๋ก ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์์๋ ๋ฐ์ดํฐ๋ ๋ถ๋ณํ๋ฉฐ, ๋ณต์ฌ๋ณธ์ ๋ง๋ค์ด ๋ฐํํ๋ ๊ฐ๋ ์ ๊ธฐ๋ณธ์ผ๋ก ์ผ๋๋ค.
- ํ์ง๋ง ํ์ค์ ๋ชจ๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ ์ฉํ๊ธฐ ์ด๋ ต๋ค. ๊ทธ๋๋ ์ํ์ ์ค์ผ ์๋ ์๋ค.
- ๋ฉ์๋๋ฅผ ํตํด ์์ ํ ์ ์๊ฒ ํ๋ ๋ฑ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์.
๋ค์ํจ ๋ณ๊ฒฝ
- ์ฝ๋๋ฅผ ์์ ํ ๋, ๊ณ ์ณ์ผ ํ ๋ถ๋ถ ํ๋๋ฅผ ๊ฐ๊ณ ๊ณ ์น ์ ์์ด์ผ ํ๋ค.
- ์ด๋ ๊ฒ ์๋๋ฉด ๋์ฅํ์ด ์ผ์ด๋ ๊ฒ์ด๋ค.
- ์ด๋ฐ ๋ฌธ์ ๋ SRP๊ฐ ์ ๋๋ก ์์ง์ผ์ ธ์ ๊ทธ๋ ๋ค.
- ๋ค์ํจ ๋ณ๊ฒฝ์ ๋ฌด์ธ๊ฐ ์ถ๊ฐ๋ ๋, ์ด์ ์ํฅ๋ฐ๋ ์์๊ฐ ์ฌ๋ฌ๊ฐ์ธ ์ํฉ์ ๋งํ๋ค.
- ์ ํํ ์ฒ๋ฆฌํด์ผํ๋ ๋ถ๋ถ์ ๋ถ๋ฆฌํจ์ผ๋ก์จ ํด๊ฒฐํ์.
์ฐํ์ด ์์
- ๋ค์ํจ ๋ณ๊ฒฝ๊ณผ ์ข ๋ค๋ฅด๋ค.
- ์ฝ๋๋ฅผ ์์ ํ ๋๋ง๋ค ํฉ์ด์ ธ ์๋ ์ฝ๋๋ฅผ ํจ๊ป ์์ ํด์ผ ํ๋ ๊ฒฝ์ฐ๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ๋ ํ๊ณณ์ผ๋ก ๋ชจ์์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค.
๋ค์ํจ ๋ณ๊ฒฝ | ์ฐํ์ด ์์ | |
---|---|---|
์์ธ | ๋งฅ๋ฝ์ ์ ๊ตฌ๋ถํ์ง ๋ชปํจ | ๋งฅ๋ฝ์ ์ ๊ตฌ๋ถํ์ง ๋ชปํจ |
ํด๋ฒ(์๋ฆฌ) | ๋งฅ๋ฝ์ ๋ช ํํ ๊ตฌ๋ถ | ๋งฅ๋ฝ์ ๋ช ํํ ๊ตฌ๋ถ |
๋ฐ์ ๊ณผ์ (ํ์) | ํ ์ฝ๋์ ์์ฌ ๋ค์ด๊ฐ | ์ฌ๋ฌ ์ฝ๋์ ํฉ๋ฟ๋ ค์ง |
ํด๋ฒ(์ค์ ํ๋) | ๋งฅ๋ฝ๋ณ๋ก โ๋ถ๋ฆฌโ | ๋งฅ๋ฝ๋ณ๋ก โ๋ชจ์โ |
๊ธฐ๋ฅ ํธ์
- ๋ชจ๋ํ๋ฅผ ํ๋ค๋ฉด, ๊ฒฝ๊ณ๋ ์ต์ํํ๊ณ , ๋ด๋ถ์์ ์ํธ์์ฉ์ ๋๋ ค์ผ ํ๋ค.
- ๊ทธ๋ฐ๋ฐ ๋ด๊ฐ ์ํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ๋ณด๋ค, ๋ฐ๊นฅ์ชฝ์์ ๋ค๊ณ ์์ ์ฒ๋ฆฌํ๋ ๊ฒ ๋ง์ ๊ฒฝ์ฐ๊ฐ ์๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ๋ฅผ ๊ธฐ๋ฅ ํธ์ ๋ผ ํ๋ค.
- ํด๊ฒฐ๋ฒ์ ์ฝ๋ค. ๋ค๊ณ ์์ ์ฒ๋ฆฌํ๋ ์น๊ตฌ๋ค ๋ฐ๊นฅ์ผ๋ก ๋นผ๋ด์.
๋ฐ์ดํฐ ๋ญ์น
- ๋ฐ์ดํฐ๋ ๋ญ์ณ๋ค๋๋ ๊ฒฝ์ฐ๊ฐ ํํ๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ ํ๋๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค.
- ๋ฌถ์ ๋๋ ํด๋์ค์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ์ ํํ์ฌ, ํด๋น ๋ฐ์ดํฐ ๋ด์์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ข์ ๋์๋ค์ ๋ฌถ์ด์ฃผ์.
๊ธฐ๋ณธํ ์ง์ฐฉ
- ์์ ํ์ ์ผ๋ก ๊ทธ๋ฅ ๋งคํํด๋๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ํํ๋ค.
- ๋ด๊ฐ ํ ๋ฌธ์ ์ ๋ฑ ๋ง๋ ํ์ ์ผ๋ก ์ ์ํ์ง ์๋ ์ฌ๋์ด ํํ๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ ์์ ๊ฐ์ฒด๋ก ๋ฐ๊ฟ ์๋ฏธ ์๋ ์๋ฃํ์ผ๋ก ๋ฐ๊พธ์.
- ์ด๋ ๋ฌธ๋ช ์ฌํ๋ก ์ด๋๋ ํ์๋ค.
๋ฐ๋ณต๋๋ switch๋ฌธ
- ๊ฐ์ฒด ์งํฅ์ ์ ํธํ๋ ์ฌ๋์๊ฒ switch๋ฌธ์ ๋์ด์ ์ฐํธ๋ฆฌ๊ฒ ํ๋ค.
- ์ด์ ๋ ์๋๊ฐ ๋ฐ๋์ด์ ๋ฌด์กฐ๊ฑด์ ์ผ๋ก switch๋ฅผ ๋ณด๋ฉด ๋ฐ๊ฟ! ๋ผ๊ณ ๋งํ๊ธด ๊ทธ๋ ๋ค.
- ํ์ง๋ง ๋ฐ๋ณต์ ์ผ๋ก ๋์จ๋ค๋ฉด ๊ณ ๋ฏผํด๋ณด์.
- ์ค๋ณต๋ switch๋ฌธ์ ๊ฒฝ์ฐ์๋ case๋ฅผ ์ถ๊ฐํ ๋๋ง๋ค ๋ชจ๋ ์์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ ๋คํ์ฑ์ผ๋ก ๋ฐ๊พผ๋ค๋ฉด ์ธ๋ จ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ค.
๋ฐ๋ณต๋ฌธ
- ์ด์ ๋ ์ผ๊ธํจ์๋ก ๋ฐ๋์ด ๋ฒ๋ฆฐ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ดํ๋ผ์ธ์ผ๋ก ๋ง์ด ์ฒ๋ฆฌํ๋ค.
์ฑ์ ์๋ ์์
- ํด๋์ค๊ฐ ์๊ธด ํ๋ฐ, ๋ฉ์๋๊ฐ ํ๋์ธ ๊ฒฝ์ฐ
- ์ฌ์ฉํ๋ ๊ฒ์ด ๋ณ๋ก ์๋ฏธ ์๋ ๊ฒฝ์ฐ.
- ์ด๋ด ๋๋ ๊ณ ์ด ๋ณด๋ด์ฃผ์.
์ถ์ธก์ฑ ์ผ๋ฐํ
- โ๋์ค์ ํ์ํ ๊ฑฐ์ผโ
- ๋ง์ฝ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ญ๋น์ผ ๋ฟ์ด๋ค.
- ๋น์ฅ ํ์์์ผ๋ฉด ์ง์๋ฒ๋ฆฌ์.
์์ ํ๋
- ํน์ ์ํฉ์์๋ง ๊ฐ์ด ์ค์ ๋๋ ํ๋๋ฅผ ๊ฐ์ง๋ ๊ฒฝ์ฐ๋ ์๋ค.
- ์๋ฅผ ๋ค๋ฉด 10๊ฐ์ ํ๋๊ฐ ์๋๋ฐ, A, B๋ฅผ ํตํด ์์ฑํ ์ ์๋ค.
- ๊ทธ๋ฐ๋ฐ A์ผ ๋์ B์ผ ๋๋ง ๊ฐ๊ฐ ๋ฃ์ด์ง๋ ๊ฐ์ด ์๋ ๊ฒ์ด๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ์ฝ๋๋ฅผ ํ์ ํ๊ธฐ ์ด๋ ต๋ค.
- ํด๋์ค ์ถ์ถํ๊ธฐ๋ฅผ ํตํด ์์ ๋ถ๋ฆฌ์ํค๋ ๊ฒ์ด ์ข๋ค.
๋ฉ์์ง ์ฒด์ธ
a.getB().getC().getD()
์ด๋ฐ ์์ผ๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ๋งํ๋ค.- ์ด๋ฐ ๊ฒฝ์ฐ ์์ ์จ๊ธฐ๊ธฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
- ๊ฐ์ ์์ํจ์ผ๋ก์ ์ฒด์ธ์ ๋จ์ถํ๋ค.
์ค๊ฐ์
- ์บก์ํํ๋ ๊ณผ์ ์์๋ โ์์โ์ด๋ผ๋ ๊ฐ๋ ์ด ์์ฃผ ์ฌ์ฉ๋๋ค.
- ์ฑ ์์ ์ด๋์ํค๋ ๊ฒ์ด๋ค.
- ๋ณดํต์ ์ข์ผ๋, ์ง๋์น๋ฉด ๋ฌธ์ ๊ฐ ๋๋ค.
- ๋ง์ฝ ํด๋์ค๊ฐ ์ ๊ณตํ๋ ๋ฉ์๋๊ฐ 10๊ฐ์ธ๋ฐ, ์ด์ค ์ ๋ฐ์ ๋ค๋ฅธ ํด๋์ค์๊ฒ ๊ตฌํ์ ์์ํ๊ณ ์๋ค๋ฉด?
- ์ด๋ด ๊ฒฝ์ฐ ์คํ๋ ค ์์ํ ์ฑ ์์ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ๋์ ์ ์๋ค.
๋ด๋ถ์ ๊ฑฐ๋
- ๊ฐ๋ฐ์๋ ๋ชจ๋ ์ฌ์ด์ ๋ฒฝ์ ๋๊ป๊ฒ ์ธ์ฐ๊ธฐ๋ฅผ ์ข์ํ๋ค.
- ๊ทธ๋์ ์ฌ์ด์ ๋ฐ์ดํฐ ๊ฑฐ๋๊ฐ ๋ง์ผ๋ฉด ๊ฒฐํฉ๋๊ฐ ๋์์ง๋ค ๋งํ๋ค.
- ์ด๋ ๊ฒ ์ฒ๋ฆฌ๋๋ ๊ฒ์ ์ต์๋ก ์ค์ด๊ณ , ํฌ๋ช ํ๊ฒ ๋ณ๊ฒฝํด์ผ ํ๋ค.
๊ฑฐ๋ํ ํด๋์ค
- ํด๋์ค์ ํ๋์๊ฐ ๋์ด๋๋ค๋ฉด, ๋ถ๋ฆฌํ ํ์๊ฐ ์๋ค.
- ์ค๋ณต์ ์ ๊ฑฐํ๋ฉด์, ์ฑ ์์ ๋ถ๋ฆฌํ์.
์๋ก ๋ค๋ฅธ ์ธํฐํ์ด์ค์ ๋์ ํด๋์ค๋ค
- ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํ์์ ๋ฐ๋ผ ๋ค๋ฅธ ํด๋์ค๋ก ๊ต์ฒดํ ์ ์๋ค.
- ๋จ ๊ต์ฒดํ๋ ค๋ฉด ์ธํฐํ์ด์ค๊ฐ ๊ฐ์์ผ ํ๋ค.
๋ฐ์ดํฐ ํด๋์ค
- ๋ฐ์ดํฐ ํด๋์ค๋ ํ๋์ ๊ฒํฐ, ์ธํฐ๋ง ๊ฐ์ง๋ ํด๋์ค๋ฅผ ๋งํ๋ค.
- ๋จ์ ์ ์ฅ ์ฉ๋๋ก๋ง ์ฐ์ด๋ค๋ณด๋ ํจ๋ถ๋ก ๋ค๋ฃจ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- ํ๋์ ๋ณ๊ฒฝ ํต์ ์ ๊ดํด ํ์คํ๊ฒ ๊ด๋ฆฌํ์.
์์ ํฌ๊ธฐ
- ์๋ธ ํด๋์ค๋ ๋ถ๋ชจ๋ก ๋ถํฐ ๋ฉ์๋์ ๋ฐ์ดํฐ๋ฅผ ๋ฌผ๋ ค๋ฐ๋๋ค.
- ํ์ง๋ง ๋ชจ๋ ์ ์ฐ์ ์์น์๋๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น?
- ์ด์ ์๋ โ๊ณ์ธต ๊ตฌ์กฐโ๋ฅผ ์๋ชป ์ค๊ณํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ๋ณด์๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ ๋ฌผ๋ ค๋ฐ์ง ์์ ์ฝ๋๋ค์ ๋ชจ์กฐ๋ฆฌ ์๋ก๋ง๋ ์๋ธ ํด๋์ค๋ก ๋๊ฒผ๋ค.
- ํ์ง๋ง ์ด์ ๋ ์ด ๋ฐฉ๋ฒ์ ๊ถํ์ง ์๋๋ค.
- ์ด๋ ๊ฒ ๋์์ ํ์ํ์ง๋ง ์ธํฐํ์ด์ค๋ ๋ฐ๋ฅด๊ณ ์ถ์ง ์์ ๊ฒฝ์ฐ๋, ์์ ๋์์ ๋ถ๋ฆฌํค๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์.
์ฃผ์
- ์ฃผ์์ ํฅ๊ธฐ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค.
- ํ์ง๋ง ์ฐ๋ฆฌ๋ ์ด๊ฑธ ํ์ทจ์ ์ฒ๋ผ ์ฌ์ฉํ๋ค.
- ์ฃผ์์ด ์ฅํฉํ ์ด์ ๊ฐ ๊ณง ์ฝ๋๋ฅผ ์๋ชป ์์ฑํ๊ธฐ ๋๋ฌธ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค๋ ๊ฒ์ด๋ค.
์ฃผ์์ ๋จ๊ฒจ์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค๋ฉด ๊ฐ์ฅ ๋จผ์ ์ฃผ์์ด ํ์์๋ ์ฝ๋๋ก ๋ฆฌํฉํฐ๋ง ํด๋ณธ๋ค.