์๋ฐ ์ปจ๋ฒค์
1. ๊ธฐ๋ฅ ๋ชฉ๋ก ๊ตฌํ์ ์ฌ๊ฒํ ํ๋ค
๊ธฐ๋ฅ ๋ชฉ๋ก์ ํด๋์ค ์ค๊ณ์ ๊ตฌํ, ํจ์(๋ฉ์๋) ์ค๊ณ์ ๊ตฌํ๊ณผ ๊ฐ์ด ๋๋ฌด ์์ธํ๊ฒ ์์ฑํ์ง ์๋๋ค. ํด๋์ค ์ด๋ฆ, ํจ์(๋ฉ์๋) input/output
์ ์ธ์ ๋ ์ง ๋ณ๊ฒฝ๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋๋ฌด ์ธ์ธํ ๋ถ๋ถ๊น์ง ์ ๋ฆฌํ๊ธฐ ๋ณด๋ค ๊ตฌํํด์ผํ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ์ ๋ฆฌํ๋๋ฐ ์ง์คํ๋ค. ์ ์์ ์ธ ๊ฒฝ์ฐ๋ ์ค์ํ์ง๋ง ์์ธ์ ์ธ ์ํฉ๋ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ์ ๋ฆฌํ๋ค. ํนํ ์์ธ ์ํฉ์ ์์๋จ๊ณ์์ ๋ชจ๋ ์ฐพ๊ธฐ ํ๋ค๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด์ ๊ณ์ํด์ ์ถ๊ฐํด ๋๊ฐ๋ค.
2. ๊ฐ์ ํ๋์ฝ๋ฉํ์ง ๋ง๋ผ
๋ฌธ์์ด, ์ซ์ ๋ฑ์ ๊ฐ์ ํ๋์ฝ๋ฉํ์ง ๋ง๋ผ. ์์(static final
)๋ฅผ ๋ง๋ค๊ณ ์ด๋ฆ์ ๋ถ์ฌํด ์ด ๋ณ์์ ์ญํ ์ด ๋ฌด์์ธ์ง ์๋๋ฅผ ๋๋ฌ๋ด๋ผ. ๊ตฌ๊ธ์์ java ์์
์ ๊ฐ์ ํค์๋๋ก ๊ฒ์ํด ์์ ๊ตฌํ ๋ฐฉ๋ฒ์ ํ์ตํ๊ณ ์ ์ฉํด ๋ณธ๋ค.
3. ์ถ์ฝํ์ง ๋ง๋ผ
์๋๋ฅผ ๋๋ฌ๋ผ ์ ์๋ค๋ฉด ์ด๋ฆ์ด ๊ธธ์ด์ ธ๋ ๊ด์ฐฎ๋ค.
4. java api
๋ฅผ ์ ๊ทน ํ์ฉํ๋ค
๋ฉ์๋๋ฅผ ์ง์ ๊ตฌํํ๊ธฐ ์ ์ java api
์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ธ์ง ๊ฒ์์ ๋จผ์ ํด๋ณธ๋ค. java api
์์ ์ ๊ณตํ๋ ์์ ๊ฒฝ์ฐ ์ง์ ๊ตฌํํ๋ค.
5. ๋ฐฐ์ด ๋์ java collection
์ ์ฌ์ฉํ๋ผ
java collection
์๋ฃ๊ตฌ์กฐ(List, Set, Map
๋ฑ)๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ ๋ ๋ค์ํ api
๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
6. ๊ฐ์ฒด์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ผ
์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๋ ๊ฐ์ฒด์์ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ ค(get
)ํ์ง ๋ง๊ณ ๊ฐ์ฒด์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ผ
7. ํ๋(์ธ์คํด์ค ๋ณ์)์ ์๋ฅผ ์ค์ด๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค
ํ๋(์ธ์คํด์ค ๋ณ์)์ ์๊ฐ ๋ง์ ๊ฒ์ ๊ฐ์ฒด์ ๋ณต์ก๋๋ฅผ ๋์ด๊ณ , ๋ฒ๊ทธ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ๋์ผ ์ ์๋ค. ํ๋(์ธ์คํด์ค ๋ณ์)์ ์ค๋ณต์ด ์๊ฑฐ๋, ๋ถํ์ํ ํ๋๊ฐ ์๋์ง ํ์ธํด ํ๋์ ์๋ฅผ ์ต์ํํ๋ค.
8. ๋น์ง๋์ค ๋ก์ง๊ณผ UI
๋ก์ง์ ๋ถ๋ฆฌํด๋ผ
๋น์ง๋์ค ๋ก์ง๊ณผ UI
๋ก์ง์ ํ ํด๋์ค๊ฐ ๋ด๋นํ์ง ์๋๋ก ํ๋ค.
๋จ์ผ ์ฑ
์์ ์์น์๋ ์๋ฐฐ๋๋ค.
ํ์ฌ ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ณด๊ธฐ ์ํ ๋ก๊ทธ ๋ฉ์์ง ์ฑ๊ฒฉ์ด ๊ฐํ๋ค๋ฉด toString()
์ ํตํด ๊ตฌํํ๋ค. View
์์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ผ๋ฉด getter
๋ฉ์๋๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค
9. ํจ์(๋ฉ์๋) ๋ผ์ธ์ ๋ํ ๊ธฐ์ค
ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ์ฌํญ์ ๋ณด๋ฉด ํจ์ 15๋ผ์ธ์ผ๋ก ์ ์ํ๋ ์๊ตฌ์ฌํญ์ด ์๋ค. ์ด ๊ธฐ์ค์ main()
ํจ์์๋ ํด๋น๋๋ค. ์ฃผ์์ ๊ฐ๋ฅํ๋ฉด ํจ์ ๋ฐ ๋๋ ์ฝ๋ ์ฐ์ธก์ ์ถ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ค. ๊ณต๋ฐฑ ๋ผ์ธ๋ ํ ๋ผ์ธ์ ํด๋นํ๋ค.
10. ๋ฐ์ํ ์ ์๋ ์์ธ์ผ์ด์ค์ ๋ํด ๊ณ ๋ฏผํ๋ค
์ ์์ ์ธ ๊ฒฝ์ฐ๋ฅผ ๊ตฌํํ๋ ๊ฒ๋ณด๋ค ์์ธ ์ํฉ์ ๋ชจ๋ ๊ณ ๋ คํด ํ๋ก๊ทธ๋๋ฐํ๋ ๊ฒ์ด ๋ ์ด๋ ต๋ค. ์์ธ ์ํฉ์ ๊ณ ๋ คํด ํ๋ก๊ทธ๋๋ฐํ๋ ์ต๊ด์ ๋ค์ธ๋ค.
11. ์ฃผ์์ ๊ผญ ํ์ํ ๊ฒฝ์ฐ๋ง ๋จ๊ธด๋ค
๋ฉ์๋์ ์ญํ ์ด ๋ฌด์์ธ์ง๋ ๋ฉ์๋์ ์ด๋ฆ์ผ๋ก, ๋ณ์์ ์ญํ ์ด ๋ฌด์์ธ์ง๋ ๋ณ์์ ์ด๋ฆ์ผ๋ก ์ ์ ์์ด์ผ ํ๋ค. ์ฃผ์์ ๊ผญ ํ์ํ ๊ฒ์ด ์๋๋ฉด ๋จ๊ธฐ์ง ์๋๋ค.
12. git
์ ํตํด ๊ด๋ฆฌํ ์์์ ๋ํด์๋ ๊ณ ๋ คํ๋ค.
.class
ํ์ผ์ java
์ฝ๋๊ฐ ์์ผ๋ฉด ์์ฑํ ์ ์๋ค. ๋ฐ๋ผ์ .class
ํ์ผ์ ๊ตณ์ด git
์ ํตํด ๊ด๋ฆฌํ์ง ์์๋ ๋๋ค. intellij
์ .idea
ํด๋, eclipse
์ .metadata
ํด๋ ๋ํ ๊ฐ๋ฐ ๋๊ตฌ๊ฐ ์๋์ผ๋ก ์์ฑํ๋ ํด๋์ด๊ธฐ ๋๋ฌธ ์ ๊ตณ์ด git
์ผ๋ก ๊ด๋ฆฌํ์ง ์์๋ ๋๋ค. ์์ผ๋ก git
์ ์ฝ๋๋ฅผ ์ถ๊ฐํ ๋๋ git
์ ํตํด ๊ด๋ฆฌํ ํ์๊ฐ ์๋์ง ์ฌ๋ถ๋ฅผ ๊ณ ๋ คํด๋ณผ ๊ฒ์ ์ถ์ฒํ๋ค.
13. ์ด๋ฆ์ ํตํด ์๋๋ฅผ ๋๋ฌ๋ด๋ผ.
๋ณ์ ์ด๋ฆ, ํจ์(๋ฉ์๋)์ด๋ฆ, ํด๋์ค ์ด๋ฆ์ ์ง๋๋ฐ ์๊ฐ์ ํฌ์ํ๋ผ. ์ด๋ฆ์ ํตํด ๋ณ์์ ์ญํ , ํจ์์ ์ญํ , ํด๋์ค์ ์ญํ ์ ๋ํ ์๋๋ฅผ ๋๋ฌ๋ด๊ธฐ ์ํด ๋
ธ๋ ฅํ๋ผ. ์ฐ์์ ์ธ ์ซ์๋ฅผ ๋ง๋ถ์ธ ์ด๋ฆ(a1, a2, โฆ, aN
) ๋ง๋ถ์ด๊ฑฐ๋ ๋ถ์ฉ์ด(Info, Data, a, an, the
)๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ์์ ์ ์ ํ์ง ๋ชปํ๋ค.
14. space(๊ณต๋ฐฑ)๋ convention
์ด๋ค.
for, while, if
๋ฌธ ์ฌ์ด์ space
๋ convention
์ด๋ค.
15. ๋ถํ์ํ๊ฒ ๊ณต๋ฐฑ ๋ผ์ธ์ ๋ง๋ค์ง ์๋๋ค.
๊ณต๋ฐฑ ๋ผ์ธ์ ๋์ฐ๋ ๊ฒ๋ ์ฝ๋์์ ๋ฌธ๋งฅ์ด ๋ฌ๋ผ์ง๋ ๋ถ๋ถ์ ์๋๋ฅผ ๊ฐ์ง๊ณ ๋์ฐ๋ฉด ์ข๊ฒ ๋ค.
16. ๊ตฌํ ์์๋ convention
์ด๋ค
ํด๋์ค์ ๊ตฌํ ์์์ ๋ํ convention
์ ์งํค๋ ๊ฒ๋ ์ฝ๊ธฐ ์ข์ ์ฝ๋๋ฅผ ๊ตฌํํ๋๋ฐ ์๋ฏธ๊ฐ ์๋ค. ํด๋์ค์ ๊ตฌํ ์์๋ฅผ ์งํค๋ฉด์ ํ๋ก๊ทธ๋๋ฐํ๋ค.
17. ๋ฐ๋ณตํ์ง ๋ง๋ผ.
์ค๋ณต์ ์ํํธ์จ์ด์์ ๋ชจ๋ ์ ์ ๊ทผ์์ด๋ค.
18. space
vs tab
ํผ์ฉ
๋ค์ฌ์ฐ๊ธฐ์ space
์ tab
์ ํผ์ฉํ์ง ์๋๋ค. ๋ ์ค์ ํ๋๋ง ์ฌ์ฉํ๋ค. ํ์ ์ด ์์ง ์์ผ๋ฉด pull request
๋ฅผ ๋ณด๋ธ ํ ๋ค์ฌ์ฐ๊ธฐ๊ฐ ์ ๋์ด ์๋์ง ํ์ธํ๋ ์ต๊ด์ ๋ค์ธ๋ค.
19. git commit
๋ฉ์์ง๋ฅผ ์๋ฏธ์๊ฒ ์์ฑ
commit
๋ฉ์์ง์ ํด๋น commit
์์ ์์
ํ ๋ด์ฉ์ ๋ํ ์ดํด๊ฐ ๊ฐ๋ฅํ๋๋ก ์์ฑํ๋ค.
20. ๊ธฐ๋ฅ ๋ชฉ๋ก ์ ๋ฐ์ดํธ
README.md
ํ์ผ์ ์์ฑํ๋ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ๊ธฐ๋ฅ ๊ตฌํ์ ํ๋ฉด์ ๋ณ๊ฒฝ๋ ์ ์๋ค. ์์ํ ๋ ๋ชจ๋ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ์๋ฒฝํ๊ฒ ์ ๋ฆฌํด์ผ ํ๋ค๋ ๋ถ๋ด์ ๊ฐ์ง๊ธฐ ๋ณด๋ค ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด์ ๋ฌธ์๋ฅผ ๊ณ์ ์
๋ฐ์ดํธํ๋ค. ์ฃฝ์ ๋ฌธ์๊ฐ ์๋๋ผ ์ด์์๋ ๋ฌธ์๋ฅผ ๋ง๋ค๊ธฐ ์ํด ๋
ธ๋ ฅํ๋ค.
21. READEME.md
๋ฅผ ์์ธํ ์์ฑ
์ ์ฅ์์ README.md
๋ ์์ค์ฝ๋์ ์์ ํด๋น ํ๋ก์ ํธ๊ฐ ์ด๋ ํ ํ๋ก์ ํธ์ธ์ง ๋งํฌ๋ค์ด์ผ๋ก ์์ฑํ์ฌ ์๊ฐํ๋ ๋ฌธ์์ด๋ค. ํด๋น ํ๋ก์ ํธ๊ฐ ์ด๋ ํ ํ๋ก์ ํธ์ด๋ฉฐ, ์ด๋ค ๊ธฐ๋ฅ์ ๋ด๊ณ ์๋์ง ๊ธฐ์ ํ๊ธฐ ์ํด์ ๋งํฌ๋ค์ด๋ฌธ๋ฒ์ ๊ฒ์ํด์ ํ์ตํด๋ณด๊ณ ์ ์ฉํด ๋ณธ๋ค.
22. indent
(์ธ๋ดํธ,๋ค์ฌ์ฐ๊ธฐ) depth
๋ฅผ 2๊ฐ ๋์ง์๋๋ก ๊ตฌํํ๋ค. 1๊น์ง๋งํ์ฉ
์๋ฅผ๋ค์ด while
๋ฌธ์์ if
๋ฌธ์ด ์์ผ๋ฉด ๋ค์ฌ์ฐ๊ธฐ๋ 2์ด๋ค.
ํํธ : indent
(์ธ๋ดํธ,๋ค์ฌ์ฐ๊ธฐ) depth
๋ฅผ ์ค์ด๋ ์ข์ ๋ฐฉ๋ฒ์ ํจ์(๋๋๋ฉ์๋)๋ฅผ ๋ถ๋ฆฌํ๋ฉด ๋๋ค.
23. else
์์ฝ์ด๋ฅผ ์ฐ์ง ์๋๋ค.
ํํธ : if
์กฐ๊ฑด์ ์์ ๊ฐ์ return
ํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ฉด else
๋ฅผ ์ฌ์ฉํ์ง ์์๋ ๋๋ค.
else
๋ฅผ ์ฐ์ง ๋ง๋ผ๊ณ ํ๋ switch/case
๋ก ๊ตฌํํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ switch/case
๋ ํ์ฉํ์ง ์๋๋ค.
24. ํจ์(๋๋ ๋ฉ์๋)์ ๊ธธ์ด๊ฐ 10๋ผ์ธ์ ๋์ด๊ฐ์ง ์๋๋ก ๊ตฌํํ๋ค.
ํจ์(๋๋๋ฉ์๋)๊ฐ ํ ๊ฐ์ง ์ผ๋ง ์ํ๋๋ก ๊ตฌํํ๋ค.
25. ๋ธ๋ญ ๋ค์ฌ์ฐ๊ธฐ: +4 ์คํ์ด์ค
์ ๋ธ๋ก ๋๋ ๋ธ๋ก๊ณผ ์ ์ฌํ ๊ตฌ์กฐ(block-like construct
)๊ฐ ์ด๋ฆด ๋๋ง๋ค ๋ค์ฌ์ฐ๊ธฐ๊ฐ ๋ค ์นธ์ฉ ์ฆ๊ฐํฉ๋๋ค. ๋ธ๋ก์ด ๋๋๋ฉด ๋ค์ฌ์ฐ๊ธฐ๋ ์ด์ ๋ค์ฌ์ฐ๊ธฐ ๋จ๊ณ๋ก ๋์๊ฐ๋๋ค. ๋ค์ฌ์ฐ๊ธฐ ๋จ๊ณ๋ ๋ธ๋ก ์ ์ฒด์ ์ฝ๋์ ์ฃผ์ ๋ชจ๋์ ์ ์ฉ๋ฉ๋๋ค.
26. ์ด ์ ํ: 120
Java
์ฝ๋์ ์ด ์ ํ์ 120์์
๋๋ค. โ๋ฌธ์โ๋ ์ ๋์ฝ๋ ์ฝ๋ ํฌ์ธํธ๋ฅผ ์๋ฏธํฉ๋๋ค.
27. ๋ค์ฌ์ฐ๊ธฐ ์ง์์ ์ต์ +8 ์คํ์ด์ค
์ค ๋ฐ๊ฟ ์ ๊ทธ ๋ค์ ์ค์ ์๋ ์ค์์ +8 ์ด์ ๋ค์ฌ์๋๋ค.
28. ์์ง ๋น ์ค
๋น ์ค์ ๊ฐ๋
์ฑ์ ํฅ์์ํค๊ธฐ ์ํด์๋ผ๋ฉด ์ด๋๋ (์๋ฅผ ๋ค๋ฉด ๋
ผ๋ฆฌ์ ์ผ๋ก ์ฝ๋๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ๋ฌธ์ฅ ์ฌ์ด) ์ฌ์ฉ ๋ ์ ์์ต๋๋ค. ํด๋์ค์ ์ฒซ ๋ฒ์งธ ๋ฉค๋ฒ๋ ์ด๊ธฐํ(initializer
) ๋๋ ๋ง์ง๋ง ๋ฉค๋ฒ ๋๋ ์ด๊ธฐํ( initializer
) ๋ค์ ๋น ์ค์ ๊ถ์ฅ๋์ง๋ ๋น๊ถ์ฅํ์ง๋ ์์ต๋๋ค.
ํด๋์ค์ ์ฒซ ๋ฒ์งธ ๋ฉค๋ฒ๋ ์ด๊ธฐํ(initializer
) ์์ ์๋ ๋น์ค์ ๊ฐ์ ํ์ง ์์ต๋๋ค.
29. ์ํธ์์ค ์ค์๋ฆฌ์ง - ์ผ๊ธ ์ฝ๋ ์ ์ ํ์ฉํด ๊ตฌํํ๋ค.
์ปฌ๋ ์ ์ ํฌํจํ ํด๋์ค๋ ๋ฐ๋์ ๋ค๋ฅธ ๋ฉค๋ฒ ๋ณ์๊ฐ ์์ด์ผ ํ๋ค.
30. ์ํธ์์ค ์ค์๋ฆฌ์ง - ๋ชจ๋ ์์๊ฐ๊ณผ ๋ฌธ์์ด์ ํฌ์ฅํ๋ค.
๊ฐ๋
์ฑ์ ์ํ์ฌ ๊ฐ์ฒด๋ก wrapping
ํ๋ค.
[์ฐธ๊ณ ]
์ฐ์ํ ํ
ํฌ์ฝ์ค