-
ํด๋ฆฐ์ฝ๋ - ํด๋ฆฐ ์ฝ๋๋?,๋ค์ด๋ฐ ๊ฐ์ด๋ํด๋ฆฐ์ฝ๋ 2022. 1. 14. 23:04
- ๋์ ์ฝ๋
- ํด๋ฆฐ ์ฝ๋
- ์๋ฏธ ์๋ ์ด๋ฆ ์ง๊ธฐ
- ๋ค์ด๋ฐ ๊ฐ์ด๋
๋์ ์ฝ๋
๋์ ์ฝ๋๋ ๋๋ฌด ๋ง์ ์ผ์ ํ๋ ค ์ ์ฐ๋ค๊ฐ ์๋๊ฐ ๋ค์์ด๊ณ ๋ชฉ์ ์ด ํ๋ ค์ง๋ค
- ์ฑ๋ฅ์ด ๋์ ์ฝ๋ : ๋ถํ์ํ ์ฐ์ฐ์ด ๋ค์ด๊ฐ์ ๊ฐ์ ์ ์ฌ์ง๊ฐ ์๋ ์ฝ๋
- ์๋ฏธ๊ฐ ๋ชจํธํ ์ฝ๋ : ์ดํดํ๊ธฐ ์ด๋ ค์ด ์ฝ๋, ๋ค์ด๋ฐ๊ณผ ๊ทธ ๋ด์ฉ์ด ๋ค๋ฅธ ์ฝ๋
- ์ค๋ณต๋ ์ฝ๋ : ๋น์ทํ ๋ด์ฉ์ธ๋ฐ ์ค๋ณต๋๋ ์ฝ๋๋ค์ ๋ฒ๊ทธ๋ฅผ ๋ณ๋๋ค
๋์ ์ฝ๋๊ฐ ๋์ ์ด์
- ๊นจ์ง ์ ๋ฆฌ์ฐฝ ๋ฒ์น : ๋์ ์ฝ๋๋ ๊นจ์ง ์ ๋ฆฌ์ฐฝ์ฒ๋ผ ๊ณ์ ๋์ ์ฝ๋๊ฐ ๋ง๋ค์ด์ง๋๋ก ํ๋ค
- ์์ฐ์ฑ ์ ํ : ๋์ ์ฝ๋๋ ํ ์์ฐ์ฑ์ ์ ํ์ํจ๋ค
- ์๋ก์ด ์์คํ ์ ๋ง๋ค์ด์ผ ํ๋ค : ํ์์คํ ์ ์ ์ง๋ณด์ํ๋ฉฐ ๋์ฒดํ ์๋ก์ด ์์คํ ๊ฐ๋ฐ์ ํ์ค์ ์ผ๋ก ์ด๋ ต๋ค
๋์ ์ฝ๋๋ฅผ ์ง๋ ์ด์
- ์ผ์ ์ด ์ด๋ฐํด์ : ํ์ง๋ง,๋์ ์ฝ๋๋ ์์ฐ์ฑ์ ์ ํํ๊ธฐ ๋๋ฌธ์ ์คํ๋ ค ์ผ์ ์ ๋ชป๋ง์ถ๋ค
- ์ํฅ ๋ฒ์๊ฐ ๋์ด์ : ์ํฅ๋ฒ์๊ฐ ๋์ด์ ๋ค๋ฅธ ๋ถ๋ถ์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ๊น๋ด, ํ์ง๋ง ๊ธฐ์ ๋ถ์ฑ๋ ๋ถ๋ฉ๋์ฒ๋ผ ๋์์จ๋ค
ํด๋ฆฐ ์ฝ๋
๊นจ๋ํ ์ฝ๋๋ ํ ๊ฐ์ง๋ฅผ ์ ๋๋ก ํ๋ค
๊ฐ ํจ์์ ํด๋์ค์ ๋ชจ๋์ ํ๊ธธ๋ง ๊ฑท๋๋ค
ํด๋ฆฐ ์ฝ๋๋ ๋ค๋ฅธ ์ฌ๋์ด ๊ณ ์น๊ธฐ ์ฝ๋ค
์ฝ๊ธฐ ์ฌ์ด ์ฝ๋์ ๊ณ ์น๊ธฐ ์ฌ์ด ์ฝ๋๋ ์์ฐํ ๋ค๋ฅด๋คํด๋ฆฐ ์ฝ๋๋
- ์ฑ๋ฅ์ด ์ข์ ์ฝ๋
- ์๋ฏธ๊ฐ ๋ช ํํ ์ฝ๋ = ๊ฐ๋ ์ฑ์ด ์ข์ ์ฝ๋
- ์ค๋ณต์ด ์ ๊ฑฐ๋ ์ฝ๋ : ์ฌํ์ฉํ ์ ์๋๋ก ์ค๊ณํ๋ ๊ฒ์ด ์ค์ํ๋ค. ๋น์ทํ ์ฝ๋๊ฐ ๋๋ฐํด์๋ ๊ฒ์ด ์๋๋ผ ์ค๋ณต์ด ์ ๊ฑฐ๋ผ์ ๋ช ๋ฃํ ์ฝ๋
- ๋ ผ๋ฆฌ๊ฐ ๊ฐ๋จํด์ผ ๋ฒ๊ทธ๊ฐ ์จ์ด๋ค์ง ๋ชปํ๋ค
- ์์กด์ฑ์ ์ต๋ํ ์ค์ฌ์ผ ์ ์ง๋ณด์๊ฐ ์ฌ์์ง๋ค
- ์ค๋ฅ๋ ๋ช ๋ฐฑํ ์ ๋ต์ ์๊ฑฐํด ์ฒ ์ ํ ์ฒ๋ฆฌํ๋ค
- ์ฑ๋ฅ์ ์ต์ ์ผ๋ก ์ ์งํด์ผ ์ฝ๋๋ฅผ ๋ง์น๋ ค๋ ์ ํน์ ๋น ์ง์ง ์๋๋ค
- ๊นจ๋ํ ์ฝ๋๋ ํ ๊ฐ์ง๋ฅผ ์ ๋๋ก ํ๋ค
-๊นจ๋ํ ์ฝ๋๋ ๋จ์ํ๊ณ ์ง์ ์ ์ด๋ค
- ๊นจ๋ํ ์ฝ๋๋ ์ ์ด ๋ฌธ์ฅ์ฒ๋ผ ์ฝํ๋ค
- ๊นจ๋ํ ์ฝ๋๋ ์ค๊ณ์์ ์๋๋ฅผ ์จ๊ธฐ์ง ์๋๋ค. ๋ช ์พํ ์ถ์ํ์ ๋จ์ํ ์ ์ด๋ฌธ์ผ๋ก ๊ฐ๋ํ๋ค์ค๋ณต ์ ๊ฒฝ์ฐ๊ธฐ
- ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ํํ๋ ๊ฐ์ฒด๋ ๋ฉ์๋๋ฅผ ์ฐพ๋๋ค
- ๊ฐ์ฒด๊ฐ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ํํ๋ค๋ฉด ์ฌ๋ฌ ๊ฐ์ฒด๋ก ๋๋๋ค
- ๋ฉ์๋๊ฐ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ํํ๋ค๋ฉด ๋ฉ์๋ ์ถ์ถ ๋ฆฌํฉํฐ๋ง ๊ธฐ๋ฒ์ ์ ์ฉํด, ๊ธฐ๋ฅ์ ๋ช ํํ ๊ธฐ์ ํ๋ ๋ฉ์๋ ํ๋์ ๊ธฐ๋ฅ์ ์ค์ ๋ก ์ํํ๋ ๋ฉ์๋ ์ฌ๋ฌ ๊ฐ๋ก ๋๋๋ค
์ค๋ณต๊ณผ ํํ๋ ฅ๋ง ์ ๊ฒฝ ์จ๋ ๊นจ๋ํ ์ฝ๋์ ์ฑํผ ๋ค๊ฐ์ ๋ค
์ด๋ฐ๋ถํฐ ๊ฐ๋จํ ์ถ์ํ ๊ณ ๋ คํ๊ธฐ
ํ๋ก๊ทธ๋จ์ ์ง๋ค ๋ณด๋ฉด ์ด๋ค ์งํฉ์์ ํน์ ํญ๋ชฉ์ ์ฐพ์๋ผ ํ์๊ฐ ์์ฃผ ์๊ธด๋ค. ์ด๋ ์ถ์ ๋ฉ์๋๋ ์ถ์ ํด๋์ค๋ฅผ ๋ง๋ค์ด ์ค์ ๊ตฌํ์ ๊ฐ์ผ๋ค
์ด๋ ๊ฒ ํ๋ฉด ์ฌ๋ฌ ๊ฐ์ง ์ฅ์ ์ด ์๊ธด๋ค
- ์ค์ ๊ธฐ๋ฅ์ ์์ฃผ ๊ฐ๋จํ ๋ฐฉ์์ผ๋ก, ์๋ฅผ ๋ค์ด ํด์๋งต์ผ๋ก ๊ตฌํํด๋ ๊ด์ฐฎ๋ค
- ๋ค๋ฅธ ์ฝ๋๋ ์ถ์ ํด๋์ค๋ ์ถ์ ๋ฉ์๋๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฏ๋ก ์ค์ ๊ตฌํ์ ์ธ์ ๋ ์ง ๋ฐ๊ฟ๋ ๊ด์ฐฎ๋ค. ๊ฐ๋จํ๊ฒ ์ฌ๋นจ๋ฆฌ ๊ตฌํํ๋ค๊ฐ ๋์ค์ ํ์ํ ๋ ๋ฐ๊พธ๋ฉด ๋๋ค
- ์งํฉ์ ์ถ์ํํ๋ฉด '์ง์ง'๋ฌธ์ ์ ์ ๊ฒฝ ์ธ ์ฌ์ ๊ฐ ์๊ธด๋ค
๊ทธ๋ฆ๋ ์ ๋ณด๋ ํผํ๊ธฐ
์ฝ๋์ ๊ทธ๋ฆ๋ ๋จ์๋ฅผ ๋จ๊ธฐ๋ฉด ์๋๋ค, ๊ทธ๋ฆ๋ ์ฝ๋๋ ์ฝ๋ ์๋ฏธ๋ฅผ ํ๋ฆฐ๋ค.
- ๋๋ฆฌ ์ฐ์ด๋ ์๋ฏธ๊ฐ ์๋ ๋จ์ด๋ฅผ ๋ค๋ฅธ ์๋ฏธ๋ก ์ฌ์ฉํด์๋ ์๋๋ค
- ์๋ก ํก์ฌํ ์ด๋ฆ ์ฌ์ฉ์ ์ ์ํ๋ค
- ์ผ๊ด์ฑ์ด ๋จ์ด์ง๋ ํ๊ธฐ๋ฒ์ ๊ทธ๋ฆ๋ ์ ๋ณด๋ค
๊ทธ๋ฆ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ด๋ฆ ์์
์๋ฌธ์ L์ด๋, ๋๋ฌธ์ O ๋ณ์๊ฐ ๊ทธ ์์์ด๋ค. ์๋ฌธ์ L์ ์ซ์ 1์ฒ๋ผ ๋ณด์ด๊ณ ๋๋ฌธ์ O๋ ์ซ์ 0์ฒ๋ผ ๋ณด์ธ๋ค.
int a = l; if ( O == l) a = 01; else l = 01;
์๋ฏธ์๊ฒ ๊ตฌ๋ถํ๊ธฐ
์ด๋ฆ์ด ๋ฌ๋ผ์ผ ํ๋ค๋ฉด ์๋ฏธ๋ ๋ฌ๋ผ์ ธ์ผ ํ๋ค
์ฐ์๋ ์ซ์๋ฅผ ๋ง๋ถ์ด๊ฑฐ๋ ๋ถ์ฉ์ด(noise word)๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ์์ ์ ์ ํ์ง ๋ชปํ๋ค.
์๋ฅผ ๋ค๋ฉด, Product๋ผ๋ ํด๋์ค๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์. ๋ค๋ฅธ ํด๋์ค๋ฅผ ProductInfo ํน์ ProductData๋ผ๊ณ ๋ถ๋ฅธ๋ค๋ฉด ๊ฐ๋ ์ ๊ตฌ๋ถํ์ง ์์ ์ฑ ์ด๋ฆ๋ง ๋ค๋ฅด๊ฒ ํ ๊ฒฝ์ฐ๋ค. Info๋ Data๋ a,an,the์ฒ๋ผ ์๋ฏธ๊ฐ ๋ถ๋ถ๋ช ํ ๋ถ์ฉ์ด๋ค ๋ฌผ๋ก ์๋ฏธ๊ฐ ๋ถ๋ช ํ ๋ค๋ฅด๋ค๋ฉด ์ฌ์ฉํด๋ ๋ฌด๋ฐฉํ๋ค.
"์ฝ๋ ์ฌ๋์ด ์ฐจ์ด๋ฅผ ์๋๋ก ์ด๋ฆ์ ์ง์ด์ผ ํ๋ค"
์๋ฏธ ์๋ ๋งฅ๋ฝ ์ถ๊ฐํ๊ธฐ
๋งฅ๋ฝ์ ๊ฐ์ ํ๋ฉด ํจ์๋ฅผ ์ชผ๊ฐ๊ธฐ๊ฐ ์ฌ์์ง๊ณ , ์๊ณ ๋ฆฌ์ฆ๋ ์ข ๋ ๋ช ํํด์ง๋ค
ํด๋์ค,ํจ์,์ด๋ฆ ๊ณต๊ฐ์ ๋งฅ๋ฝ์ ๋ถ์ฌํ๋ค. ๋ชจ๋ ๋ฐฉ๋ฒ์ด ์คํจํ๋ฉด ๋ง์ง๋ง ์๋จ์ผ๋ก ์ ๋์ด๋ฅผ ๋ถ์ธ๋ค.
์๋ฅผ ๋ค์ด, firstName,lastName,street,city,state๋ผ๋ ๋ณ์๊ฐ ์๋ค. ๋ณ์๋ฅผ ํ์ด๋ณด๋ฉด ์ฃผ์์ ๊ดํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค.
ํ์ง๋ง, ์ด๋ ๋ฉ์๋๊ฐ state๋ผ๋ ๋ณ์ ํ๋๋ง ์ฌ์ฉํ๋ค๋ฉด, ๋ณ์ state๊ฐ ์ฃผ์์ ์ผ๋ถ๋ผ๋ ๊ฒ์ ์๊ธฐ ์ด๋ ต๋ค.
addr๋ผ๋ ์ ๋์ด๋ฅผ ์ถ๊ฐํด addrfirstName,addrLastName,addrState๋ผ๊ณ ์ฐ๋ฉด ๋งฅ๋ฝ์ด ์ข ๋ ๋ถ๋ช ํด์ง๋ค.
์ฌ๊ธฐ์ Address๋ผ๋ ํด๋์ค๋ฅผ ์์ฑํ๋ฉด ๋ ์ข๋ค. ๊ทธ๋ฌ๋ฉด ๋ณ์๊ฐ ์ข ๋ ํฐ ๊ฐ๋ ์ ์ํ๋ค๋ ๊ฒ์ด ์ปดํ์ผ๋ฌ์๊ฒ๋ ๋ถ๋ช ํด์ง๋ค.
๋ถํ์ํ ๋งฅ๋ฝ ์์ ๊ธฐ
์งง์ ์ด๋ฆ์ด ๊ธด ์ด๋ฆ๋ณด๋ค ์ข๋ค. ๋จ, ์๋ฏธ๊ฐ ๋ถ๋ช ํ ๊ฒฝ์ฐ์ ํํด์
์๋ฅผ ๋ค์ด, Introduction to famous meat restaurants๋ผ๋ ์ฑ์ ๋ง๋ ๋ค๊ณ ํ์ ๋ ๋ชจ๋ ํด๋์ค ์ด๋ฆ์ ITFMR์ผ๋ก ์์ํ๊ฒ ๋ค๋ ์๊ฐ์ ๋ฐ๋์งํ์ง ์๋ค. IDE์์ I๋ฅผ ์ ๋ ฅํ๋ฉด IDE๋ ๋ชจ๋ ํด๋์ค๋ฅผ ์ด๊ฑฐํ๋ค. ๋งค์ฐ ์ข์ง ์๋ค
accountAddress์ customerAddress๋ Address ํด๋์ค ์ธ์คํด์ค๋ก๋ ์ข์ ์ด๋ฆ์ด๋ ํด๋์ค ์ด๋ฆ์ผ๋ก๋ ์ ํฉํ์ง ์๋ค.
Address๋ ํด๋์ค ์ด๋ฆ์ผ๋ก ์ ํฉํ๋ค.
์๋ฏธ ์๋ ์ด๋ฆ ์ง๊ธฐ
์๋ฏธ๊ฐ ๋ถ๋ช ํ ์ด๋ฆ ์ง๊ธฐ
์ข์ ์ด๋ฆ์ ์ง์ผ๋ ค๋ฉด ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง๋ง ์ข์ ์ด๋ฆ์ผ๋ก ์ ์ฝํ๋ ์๊ฐ์ด ํจ์ฌ ๋ ๋ง๋ค
์๋๊ฐ ๋ถ๋ช ํ ์ด๋ฆ์ ์ ๋ง ์ค์ํ๋ค
์ด๋ฆ์ ๋ค์์ ์ง๋ฌธ์ ๋ชจ๋ ๋ตํด์ผ ํ๋ค - ์กด์ฌ ์ด์ ๋? ์ํ ๊ธฐ๋ฅ์? ์ฌ์ฉ๋ฐฉ๋ฒ์?
์ฝ๋ ๋งฅ๋ฝ์ด ์ฝ๋ ์์ฒด์ ๋ช ์์ ์ผ๋ก ๋๋ฌ๋์ผ ํ๋ค
- ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ์ ๋ฃ์ด์ ๋ณ์๋ช ์ ์ง์ด์ค์ผ ํ๋ค
- ํด๋์ค๋ฅผ ์ฌ์ฉํด์ ์๋ฏธ๋ฅผ ๋ช ํํ๊ฒ ๋ฌถ์ด์ค ์ ์๋ค
- ๋ฃจํ ์ i, j, k ์ฌ์ฉํ์ง ์๊ธฐ(์ต์ํ)
- ํต์ผ์ฑ ์๋ ๋จ์ด ์ฌ์ฉํ๊ธฐ
- ๋ณ์๋ช ์ ํ์ ๋ฃ์ง ์๊ธฐ
- ๋ฐ์ํ๊ธฐ ์ฌ์ด ์ด๋ฆ ์ฌ์ฉํ๊ธฐ
- ๊ฒ์ํ๊ธฐ ์ฌ์ด ์ด๋ฆ ์ฌ์ฉํ๊ธฐ
- ํ ๊ฐ๋ ์ ํ ๋จ์ด ์ฌ์ฉํ๊ธฐ
์๋ฏธ๊ฐ ๋ถ๋ช ํ์ง ์์ ์ด๋ฆ
int a; String b; System.out.printf("User Requested %s. count = %d", b, a);
์ด๋ฆ a,b๋ ์๋ฌด ์๋ฏธ๋ ๋๋ฌ๋์ง ์๋๋ค
์๋ฏธ๊ฐ ๋ถ๋ช ํ ์ด๋ฆ
int itemCount; String itemName; System.out.printf("User Requested %s. count = %d", itemName, itemCount);
ํด๋์ค๋ฅผ ์ฌ์ฉํด์ ์ด๋ฆ์ ์๋ฏธ๋ฅผ ๋ช ํํ๊ฒ ๋ฌถ์ด์ค ์ฝ๋
class SalesItem { ItemCode code; String name; int count; } SalesItem selectedItem = salesItemRepository.getItemByCode(PurchasRequest.getItemCode()); System.out.printf("User Requested %s. count = %d", selectedItem.getName(), selectedItem.getCount());
๋ฃจํ ์ i , j, k ์ฌ์ฉํ์ง ์๊ธฐ
i, j, k๋์ ๋งฅ๋ฝ์ ๋ง๋ ์ด๋ฆ์ด ์๋ค, ๋ช ํํ๊ฒ ์๋ฏธ๋ฅผ ์ฐพ์์ ์ฐ๋ ๊ฒ ์ข๋ค
์ธ๋ฑ์ค ๊ฐ์ด ํ์ํ์ง ์๋ค๋ฉด advanced for๋ฌธ์ด๋ lamda๋ฅผ ์ฌ์ฉํด์ ์ฒ๋ฆฌํ ์ ์๋ค
๋ฐฐ์ด์ ํ๋ํ๋์ ๊ฐ๋ค์ด ์ค์ํ์ง ์์์ ์ค์๋๊ฐ ์๋ค๋ฉด ๊ฐ ์์ฒด์ ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ i์ ์ฌ์ฉ๋น๋๋ ๋ฎ๋ค
i ๊ฐ ์๋ advanced for ๋ฌธ ์ฌ์ฉ
for (String message : messages) { // .. }
i ๊ฐ ์๋ lamda์ฌ์ฉ
messages.stream().forEach( message -> //.. )
ํต์ผ์ฑ ์๋ ๋จ์ด ์ฌ์ฉํ๊ธฐ
๋๊ฐ์ ์๋ฏธ์ ๋ํด์๋ ๋๊ฐ์ ๋จ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ์ค์
์ ์ ๋ฅผ Member / Customer / User ์ด๋ ๊ฒ ๊ฐ๊ธฐ ๋ค๋ฅด๊ฒ ํํํ๋ฉด ์๋๋ฉฐ ํ๋๋ก ์ ํ๋ ๊ฒ ์ข๋ค
์๋ก ํก์ฌํ ์ด๋ฆ์ ์ฌ์ฉํ์ง ์๋๋ก ์ฃผ์ํ๋ค
๋ณ์๋ช ์ ํ์ ๋ฃ์ง ์๊ธฐ
List,Map๊ฐ์ ๊ฒฝ์ฐ์๋ ๋์ List๋ค,Map์ด๋ค ๋ผ๊ณ ์จ๋ฌ์ ๋ค์ด๋ฐ๋ง ๋ณด๊ณ ๋ ํ์ ์ ์ ์ถํ ์ ์๊ฒ ๋ง์ด ์ฐ๋ ํธ์ด๋ค
String nameString (๐) -> name //Price,Amount๊ฐ ์ค๋ณต๋ ๋ด์ฉ Int itemPriceAmount (๐) -> itemPrice Account[] accountArray (๐) -> accounts List<Account> accountList (๐) -> accounts,accountList Map<Account> accountMap (๐) //์์ฆ์ interface์ ์ฝ์ I๋ฅผ ๋ถ์ด์ง ์๋๋ค public interface IShapeFactory (๐) -> ShapeFactory //ShapeFactory์ ๊ตฌํ์ฒด๊ฐ circle์ด๋ผ๋ฉด CircleFactory๋ผ๊ณ ๋ช ํํ๊ฒ ์ด๋ฆ์ ์ง์ด์ฃผ๋ ๊ฒ์ด ์ข๋ค public class ShapeFactoryImpl (๐บ) -> CircleFactory
๋ฐ์ํ๊ธฐ ์ฌ์ด ์ด๋ฆ ์ฌ์ฉํ๊ธฐ
๋ฐ์ํ๊ธฐ ์ฌ์ด ์ด๋ฆ์ ์ค์ํ๋ค ํ๋ก๊ทธ๋๋ฐ์ ์ฌํ ํ๋์ด๊ธฐ ๋๋ฌธ์
๊ฒ์ํ๊ธฐ ์ฌ์ด ์ด๋ฆ ์ฌ์ฉํ๊ธฐ
์ด๋ฆ์ ์๋ฏธ์๊ฒ ์ง์ผ๋ฉด ํจ์๊ฐ ๊ธธ์ด์ง๋ค. ํ์ง๋ง ์ฐพ๊ธฐ๊ฐ ๋งค์ฐ ์ฌ์์ง๋ค
๋ฌธ์ ํ๋๋ฅผ ์ฌ์ฉํ๋ ์ด๋ฆ๊ณผ ์์๋ ํ ์คํธ ์ฝ๋์์ ์ฝ๊ฒ ๋์ ๋์ง ์๋๋ค.
์๋ฅผ ๋ค์ด e๋ผ๋ ๋ฌธ์๋ ๋ณ์ ์ด๋ฆ์ผ๋ก ์ ํฉํ์ง ๋ชปํ๋ค e๋ ์์ด์์ ์์ฃผ ์ฐ์ด๊ธฐ ๋๋ฌธ์ e๊ฐ ๋ค์ด๊ฐ๋ ํ์ผ ์ด๋ฆ์ด๋ ๋ฉ์๋,ํด๋์ค๋ฑ์ด ๋ชจ๋ ๊ฒ์๋๋ค. ๊ฒ์์ด ๋์์ง๋ง ์๋๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ ์์ผ๋ฉฐ, ๋ฒ๊ทธ๊ฐ ์์ ๋ ์์ ํ๊ธฐ๋ ์ด๋ ต๋ค ์ฆ, ๊ฒ์์ด ์ด๋ ต๋ค๋ ๊ฑฐ๋ค.
์ด๋ฐ ๊ด์ ์์ ๊ธด ์ด๋ฆ์ด ์งง์ ์ด๋ฆ๋ณด๋ค ์ข๋ค. ๊ฒ์ํ๊ธฐ ์ฌ์ด ์ด๋ฆ์ด ์์๋ณด๋ค ์ข๋ค
ํ ๊ฐ๋ ์ ํ ๋จ์ด ์ฌ์ฉํ๊ธฐ
๋ ์์ ์ด๊ณ ์ผ๊ด์ ์ด์ฌ์ผ ํ๋ฉฐ, ๋๊ฐ์ ๊ฒ์ ์ ๊ฐ๊ฐ ๋ค๋ฅด๊ฒ ๋ถ๋ฅด๋ฉด ์๋๋ค
์ถ์์ ์ธ ๊ฐ๋ ํ๋์ ๋จ์ด ํ๋๋ฅผ ์ ํํด ์ด๋ฅผ ๊ณ ์ํ๋ค. ์๋ฅผ ๋ค์ด, ๋๊ฐ์ ๋ฉ์๋๋ฅผ ํด๋์ค๋ง๋ค ์ ๊ฐ๊ธฐ ๋ค๋ฅด๊ฒ(fetch,retrieve,get) ๋ถ๋ฅด๋ฉด ํผ๋์ค๋ฝ๋ค. ๋ฉ์๋ ์ด๋ฆ์ ๋ ์์ ์ด๊ณ ์ผ๊ด์ ์ด์ด์ผ ํ๋ค. ๊ทธ๋์ผ ์ฃผ์์ ๋ค์ ธ๋ณด์ง ์๊ณ ์ฌ๋ฐ๋ฅธ ๋ฉ์๋๋ฅผ ์ ํํ๋ค
์ด๋ฆ์ด ๋ค๋ฅด๋ฉด ๋น์ฐํ ํด๋์ค๋ ๋ค๋ฅด๊ณ ํ์ ๋ ๋ค๋ฅด๋ค๊ณ ์๊ฐํ๋ค
ํ ๋จ์ด๋ฅผ ๋ ๊ฐ์ง ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ฉด ์๋๋ค, ๊ฐ์ ๋งฅ๋ฝ์ด ์๋๋ฐ๋ '์ผ๊ด์ฑ'์ ๊ณ ๋ คํด ๋จ์ด๋ฅผ ์ ํํ๋ค๋ฉด ์๋๋ค ์๋ฅผ ๋ค๋ฉด, ์ฌ๋ฌ ํด๋์ค์ add๋ฉ์๋๊ฐ ์๊ณ ๋ชจ๋๊ฐ ๊ธฐ์กด ๊ฐ ๋๊ฐ๋ฅผ ๋ํ๋ ๊ธฐ๋ฅ์ด๋ค. ์๋ก ์์ฑํ๋ ๋ฉ์๋๋ ์งํฉ์ ๊ฐ ํ๋๋ฅผ ์ถ๊ฐํ๋ค. ์ด ๋ฉ์๋๋ฅผ add๋ฉ์๋๋ผ๊ณ ๋ถ๋ฅด๋ฉด ๋งฅ๋ฝ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์๋๋ค. insert๋ append๋ผ๋ ์ด๋ฆ์ด ์ ๋นํ๋ค
์ง์ค์ ์ธ ํ๊ตฌ๊ฐ ํ์ํ ์ฝ๋๊ฐ ์๋, ๋์ถฉ ๋ด๋ ์ดํดํ ์ฝ๋ ์์ฑ์ด ๋ชฉํ๋ค
๋ค์ด๋ฐ ๊ฐ์ด๋
Package Naming Guide
All lower case, no underscores
com.example.deepspace (๐) com.example.deepSpace (๐) com.example.deep_space (๐)
Class Naming Guide
UpperCamelCase(๋๋ฌธ์๋ก ์์)
//ํด๋์ค๋ ๋ช ์ฌ,๋ช ์ฌ๊ตฌ Character,ImmutableList //์ธํฐํ์ด์ค๋ ๋ช ์ฌ,๋ช ์ฌ๊ตฌ(ํ์ฉ์ฌ) List,Readable //ํ ์คํธ ํด๋์ค๋ Test๋ก ๋๋๊ธฐ HashTest, HashIntegrationTest
Method Naming Guide
LowerCamelCase(์๋ฌธ์๋ก ์์)
//๋ฉ์๋๋ ๋์ฌ,๋์ฌ๊ตฌ sendMessage,stop //jUnitํ ์คํธ์ underscore์ฌ์ฉ๋๊ธฐ๋ ํจ //<methodUnderTest>_<state>ํจํด pop_emptyStack