์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- ํด๋ฆฐ์ฝ๋
- ํธ๋ ๋ก ์ญ์
- ์๋๋ก์ด๋
- BOJ
- java
- ๋ถ์คํธ์ฝ์ค
- ์งํ์ฒ api
- activity
- ๋ถ์คํธ์บ ํ
- androidstudio
- ์๋์ฐ10
- Node.js
- RecyclerView
- ๋ ธ๊ฐ๋ถ
- CS50
- ๋ ธ๋ง๋๋ถํด๋ฝ
- Windows10
- ๋ถํด๋ฝ
- ์๊ณ ๋ฆฌ์ฆ
- codility
- ๋ฐ์ดํฐ๋ฐ์ธ๋ฉ
- ๋ฐฑ์ค
- ๋ ธ๋ง๋์ฝ๋
- Android
- ์กํฐ๋นํฐ
- ์ฌ์ฉ์ํด๋
- github
- ์ ํ๋ ์ด์์
- listview
- CardView
- Today
- Total
Be Developer
[ํด๋ฆฐ ์ฝ๋] 10์ฅ. ํด๋์ค ๋ณธ๋ฌธ
2022. 03. 09
๐ ์ค๋ ์ฝ์ ๋ฒ์
10์ฅ. ํด๋์ค
๐ ์ฑ ์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
- ํด๋์ค๋ฅผ ์ ์ํ๋ ํ์ค ์๋ฐ ๊ด๋ก : ๋ณ์ ๋ชฉ๋ก (static public ์์ -> static private ๋ณ์ -> private instance ๋ณ์) -> ๊ณต๊ฐ ํจ์ -> ๋น๊ณต๊ฐ ํจ์ (์์ ์ ํธ์ถํ๋ ๊ณต๊ฐ ํจ์ ์งํ) (p.172)
- ์บก์ํ๋ฅผ ํ์ด์ฃผ๋ ๊ฒฐ์ ์ ์ธ์ ๋ ์ตํ์ ์๋จ์ด๋ค. (p.172)
- ํด๋์ค๋ ์์์ผ ํ๋ค. (p.172)
- ํด๋์ค์ ํฌ๊ธฐ ์ธก์ ์ฒ๋๋ ํด๋์ค๊ฐ ๋งก์ ์ฑ ์์ด๋ค. (p.173)
- ์ค์ ๋ก ์๋ช ์ ํด๋์ค ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ์ฒซ ๋ฒ์งธ ๊ด๋ฌธ์ด๋ค. ๊ฐ๊ฒฐํ ์ด๋ฆ์ด ๋ ์ค๋ฅด์ง ์๋๋ค๋ฉด ํ๊ฒฝ ํด๋์ค ํฌ๊ธฐ๊ฐ ๋๋ฌด ์ปค์ ๊ทธ๋ ๋ค. ํด๋์ค ์ด๋ฆ์ด ๋ชจํธํ๋ค๋ฉด ํ๊ฒฝ ํด๋์ค ์ฑ ์์ด ๋๋ฌด ๋ง์์๋ค. (p.175)
- ํด๋์ค ์ค๋ช ์ ๋ง์ผ("if"), ๊ทธ๋ฆฌ๊ณ ("and"), -(ํ)๋ฉฐ("or"), ํ์ง๋ง("but")์ ์ฌ์ฉํ์ง ์๊ณ ์ 25๋จ์ด ๋ด์ธ๋ก ๊ฐ๋ฅํด์ผ ํ๋ค. (p.175)
- ๋จ์ผ ์ฑ ์ ์์น Single Responsibility Principle, SRP ์ ํด๋์ค๋ ๋ชจ๋์ ๋ณ๊ฒฝํ ์ด์ ๊ฐ ํ๋๋ฟ์ด์ด์ผ ํ๋ค. (p. 175)
- ํฐ ํด๋์ค ๋ช ๊ฐ๊ฐ ์๋๋ผ ์์ ํด๋์ค ์ฌ๋ฟ์ผ๋ก ์ด๋ฃจ์ด์ง ์์คํ ์ด ๋ ๋ฐ๋์งํ๋ค. ์์ ํด๋์ค๋ ๊ฐ์ ๋งก์ ์ฑ ์์ด ํ๋๋ฉฐ, ๋ณ๊ฒฝํ ์ด์ ๊ฐ ํ๋๋ฉฐ, ๋ค๋ฅธ ์์ ํด๋์ค์ ํ๋ ฅํด ์์คํ ์ ํ์ํ ๋์์ ์ํํ๋ค. (p.177)
- ์์ง๋๊ฐ ๋์์ง์๋ก ๋ณ์์ ๋ฉ์๋๋ฅผ ์ ์ ํ ๋ถ๋ฆฌํด ์๋ก์ด ํด๋์ค ๋์ธ ๊ฐ๋ก ์ชผ๊ฐ์ค๋ค. (p.178)
- ๊นจ๋ํ ์์คํ ์ ํด๋์ค๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌํด ๋ณ๊ฒฝ์ ์๋ฐํ๋ ์ํ์ ๋ฎ์ถ๋ค. (p.185)
- OCP Open-Closed Principle : ํด๋์ค๋ ํ์ฅ์ ๊ฐ๋ฐฉ์ ์ด๊ณ ์์ ์ ํ์์ ์ด์ด์ผ ํ๋ค. (p.188)
- ์ ๊ธฐ๋ฅ์ ์์ ํ๊ฑฐ๋ ๊ธฐ์กด ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ ๋ ๊ฑด๋๋ฆด ์ฝ๋๊ฐ ์ต์์ธ ์์คํ ๊ตฌ์กฐ๊ฐ ๋ฐ๋์งํ๋ค. ์ด์์ ์ธ ์์คํ ์ด๋ผ๋ฉด ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ ์์คํ ์ ํ์ฅํ ๋ฟ ๊ธฐ์กด ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง๋ ์๋๋ค. (p.188)
- ์์คํ ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๋ฉด ์ฌ์ฌ์ฉ์ฑ๋ ๋์ฑ ๋์์ง๋ค. ๊ฒฐํฉ๋๊ฐ ๋ฎ๋ค๋ ์๋ฆฌ๋ ๊ฐ ์์คํ ์์๊ฐ ๋ค๋ฅธ ์์๋ก๋ถํฐ ๊ทธ๋ฆฌ๊ณ ๋ณ๊ฒฝ์ผ๋ก๋ถํฐ ์ ๊ฒฉ๋ฆฌ๋์ด ์๋ค๋ ์๋ฏธ๋ค. ์์คํ ์์๊ฐ ์๋ก ์ ๊ฒฉ๋ฆฌ๋์ด ์์ผ๋ฉด ๊ฐ ์์๋ฅผ ์ดํดํ๊ธฐ๋ ๋ ์ฌ์์ง๋ค. (p.190)
- DIP Dependency Inversion Principle : ํด๋์ค๋ ์์ธํ ๊ตฌํ์ด ์๋๋ผ ์ถ์ํ์ ์์กดํด์ผ ํ๋ค. (p.190)
๐ ์ค๋ ์ฝ์ ์๊ฐ
- ํด๋์ค์ ๋ํด ๋จ๋จํ ์ฐฉ๊ฐ์ ํ๊ณ ์์๋ค. ๋๋ ์ฌํ ๋ญ๊ฐ ํด๋์ค๋ผ๋ฉด ๋ฉ์ด๋ฆฌ๋ก ์์ด์ผ ํ๋ค๊ณ ์๊ฐํ๋ ๊ฒ ๊ฐ๋ค. ์ฑ ์ ์ฝ์ง ์์๋ค๋ฉด ๊ณ์ ๊ทธ๋ ๊ฒ ์๊ฐํ์ง ์์์๊น? ์์ ์์ ๋ณด์ฌ์ฃผ๋ ํ ์ค์ง๋ฆฌ ํด๋์ค์ ์ ์์ด ์ถฉ๊ฒฉ์ ๋ฐ์๋ค. ์ฑ ์์ ์ต๋ํ ๋๋์ด ๋ ์์ ํด๋์ค๋ฅผ ์ ์งํ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ ๋ ์ ๋ ํด์ผ๊ฒ ๋ค.
- OOP์ ๋ํด ์ข ๋ ์์ธํ ๊ณต๋ถํด์ผ ํ ํ์์ฑ์ ๋๊ผ๋ค. ๊ฒํฅ๊ธฐ๋ก ์๊ณ ์๋ค๋ ๋๋์ด ๋ค์๊ณ , ์ถ์ ํด๋์ค๋ ์ธํฐํ์ด์ค์ ๋ํด์๋ ๋ค์ ๊ณต๋ถํด์ผ๊ฒ ๋ค.
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํด๋ฆฐ ์ฝ๋] 9์ฅ. ๋จ์ ํ ์คํธ (0) | 2022.03.07 |
---|---|
[ํด๋ฆฐ ์ฝ๋] 8์ฅ. ๊ฒฝ๊ณ (0) | 2022.03.07 |
[ํด๋ฆฐ ์ฝ๋] 7์ฅ. ์ค๋ฅ ์ฒ๋ฆฌ (0) | 2022.03.05 |
[ํด๋ฆฐ ์ฝ๋] 6์ฅ. ๊ฐ์ฒด์ ์๋ฃ ๊ตฌ์กฐ (0) | 2022.03.01 |
[ํด๋ฆฐ ์ฝ๋] 5์ฅ. ํ์ ๋ง์ถ๊ธฐ (0) | 2022.03.01 |