๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
Control Structure ์กฐ๊ฑด, ๋ฃจํ(loop), ํ๋ฆ์ ์ ์ดํ๋ ์ ์ธ๋ฌธ · Control Structures๋ ์ฝ๋ ๋ณต์ก๋์ ๊ฐ์ฅ ํฐ ์ํฅ์ ์ฃผ๋ ์์์ด๋ค. · ํนํ ์ค์ฒฉ๋ Control Structures๋ ์ฝ๋์ ๊ฐ๋
์ฑ๊ณผ ํ
์คํธ ์ฉ์ด์ฑ์ ๋ฎ์ถ๊ณ , ๋ณต์ก๋๋ ์ฌ๋ฆฌ๊ฒ ๋๋ค. Control Sturcture๋ก ์ค๊ณํ๋ ๋ฐฉ๋ฒ 1. Fail Fast! Early Return! * Fail Fast → ๋นจ๋ฆฌ ์คํจํ๋ '๊ฒ์ฆ๋ก์ง'์ ๊ตฌํํ์ฌ ๋ก์ง์ ๋ถ๋ฆฌํ๋ค. โถ ์์ ๊ทธ๋ฆผ์ฒ๋ผ ์ฝ๋๋ฅผ ์์ ํ ๊ฒฝ์ฐ์ ์ด์ - ๊ฒ์ฆ ์์ญ(์ฝ๋ ์๋จ)๊ณผ ํต์ฌ ๋ก์ง ์์ญ(์ฝ๋ ํ๋จ)์ด ๋ถ๋ฆฌ๋๋ค. - Method์ ๋ณต์ก๋๊ฐ ๋ฎ์์ง๋ค. - ๊ฐ๋
์ฑ์ด ํฅ์๋๊ณ , ํ
์คํธ๊ฐ ์ฉ์ดํด์ง๋ค. 2. ์ต๋ํ ๊ธ์ ์กฐ๊ฑด์ผ๋ก ํํํ๋ผ → ๊ธ์ ์ ์ธ ํํ์..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
Comment ๋? Code์ ๋ํ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ถ๊ฐ ์ค๋ช
. ์ฌ๋์ด Code๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๊ฒ ํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค. โถ Clean Commet ์์น 1. Comment๋ ํ์์
์ด๋ค 2. Comment๋ ๋๋ถ๋ถ์ ์ํฉ์์ ์ฌ์ฉํ์ง ๋ง์์ผ ํ๋ค. (๊ทธ๋ฌ๋ Comment๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๋ช ๊ฐ์ง ์์ธ ์ํฉ์ด ์๋ค) * ์ ์ต๋ํ ์ฝ๋ฉํธ๋ฅผ ํผํด์ผํ ๊น? >> Comment ๋ณด๋ค Code ๊ทธ ์์ฒด๊ฐ ์๋ฏธ ์์ด์ผ ํ๋ค. - Comment๋ก ๋ถ๊ฐ ์ค๋ช
์ด ํ์ํ๋ค๋ฉด Code๊ฐ ์ถฉ๋ถํ ์๋ฏธ ์์ง ๋ชปํ๋ค๋ ๊ฒ์ด๋ค. - Comment์ ์์งํ๊ธฐ ๋ณด๋ค ์๋ฏธ์๋ Code๋ฅผ ์์ฑํ๋ ๋
ธ๋ ฅ์ด ํ์ํ๋ค >> Comment๋ ์ต์ ์ ๋ณด๋ฅผ ๋ด์ง ๋ชปํ๋ค. - Code๋ฅผ ๋ณ๊ฒฝํ๋ค๊ณ Comment ๋ณ๊ฒฝ๋ ํ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
โซ ์ ์ง๋ณด์์ฑ ๋์ Clean Method์ ์กฐ๊ฑด 1. Method๋ฅผ ํธ์ถํ๋ ์ฌ๋์ด ์ฌ์ฉํ๊ธฐ ์ฉ์ดํด์ผ ํ๋ค. 2. Method๋ฅผ ์ ์ง๋ณด์ ํ๋ ์ฌ๋์ด ์ดํดํ๊ณ , ๋ณ๊ฒฝํ๊ธฐ ์ฉ์ดํด์ผ ํ๋ค. 3. Method๋ฅผ ์ ์ง๋ณด์ ํ๋ ์ฌ๋์ด ํ
์คํธํ๊ธฐ ์ฉ์ดํด์ผ ํ๋ค. โถ Clean Method์ ์์น · ๊ฐ๋ฅํ ํ ์ถฉ๋ถํ ์์์ผ ํ๋ค. · ํ ๊ฐ์ง๋ฅผ ํด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ํ ๊ฐ์ง๋ฅผ ์ ํด์ผ ํ๋ค. · ํ
์คํธ ๊ฐ๋ฅํด์ผ ํ๋ค. · ์ค๋ณต์ด ์์ด์ผ ํ๋ค. Method๋ฅผ ๋ง๋ค ๋ Method๋ฅผ ํธ์ถํ๋ ์ฌ๋์ ์ธ์ง์ ๋ถํ๋ฅผ ์ต์๋ก ๋ง๋ค์ด ์ฃผ์ด์ผ ํ๋ค. ์ฆ, Method๋ฅผ ํธ์ถํ ๋๋ง๋ค ๋ด๋ถ ์ฝ๋๋ฅผ ๋ณด๊ฑฐ๋ API ๋ฌธ์๋ฅผ ๋ณด์ง ์๊ฒ๋ ํด์ผํ๋ค๋ ๊ฒ์ด๋ค. ์ธ์ง์ ๋ถํ๋ฅผ ๋ฎ์ถ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ Method์ Parameter์ ..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
Clean Naming์ ์์๋ณด๊ธฐ์ ์์ Clean Code๋ ๋ฌด์์ผ๊น? Clean Code๋? ์ดํดํ๊ธฐ ์ฝ๊ณ , ๋ณ๊ฒฝํ๊ธฐ ์ฌ์ด Code. ์ฌ๋์ด ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ณ , ๋ช
ํํ ํ๊ฐ์ง ์ญํ ์ ํ๋ฉฐ, ์ด ์ญํ ์ ์๋ฏธ์๊ฒ ํํํ๊ณ , ์ค๋ณต์ด ์๊ณ ํ
์คํธ ์ผ์ด์ค๊ฐ ์กด์ฌํ๋ Code ์ด๋ค. Clean Naming์ ๊ฐ๋
์ฑ ํฅ์์ ๊ฐ์ฅ ์ค์ํ ์์์ด๋ค. ๊ฐ๋ฐ์ ๋๋ถ๋ถ์ ์ฝ๋๋ฅผ ์ดํดํ๊ณ ์์ ํ๋ ํ์์ด๋ค. ๋ง์ฝ ๊ทธ๊ฒ ์๋ฐฑ ๋ผ์ธ์ ์ฝ๋๋ผ๋ฉด ํฌ๊ฒ ์ด๋ ค์ด ์ผ์ด ์๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ์์ญ, ์๋ฐฑ๋ง ๋ผ์ธ์ ์ฝ๋๋ฅผ ์ฝ๊ณ ์ดํดํ๊ณ ์์ ํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ค์ด ์ผ์ด๋ค. ๊ทธ๋ ๊ธฐ์ Clean Naming์ ๋ํ ์์ ํฌ์๋ ์ฅ๊ธฐ์ ์ผ๋ก๋ ํ์ ๊ฐ๋ฐ ์์ฐ์ฑ ํฅ์์ ํฌ๊ฒ ๊ธฐ์ฌ๊ฐ ๋ ์ ์๋ ๋ถ๋ถ์ด๋ค. SW์ ์ฃผ์ ์์๋ค์ ๋ชจ๋ ์๋์ ๊ฐ์ด Cl..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
List ์ธํฐํ์ด์ค : List ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ํด ์ ์๋ ์ธํฐํ์ด์ค - ์ฌ๋ฌ ๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๊ฐ์ฒด๋ก ๊ด๋ฆฌํ๋ค. - ์
๋ ฅ๋ ๋ฐ์ดํฐ์ ์์๊ฐ ์กด์ฌํ๋ค. (์์ ์ ๋ณด์ ๊ด๋ฆฌ๋ฅผ ์ํด ์ธ๋ฑ์ค ๊ฐ๋
์ด ์กด์ฌ) - ์
๋ ฅ๋ ๋ฐ์ดํฐ๋ค์ ์ค๋ณต์ ํ์ฉํ๋ค. โซ Collection ์ธํฐํ์ด์ค๋ฅผ ์์ํ์ฌ ์ ์๋ ์ธํฐํ์ด์ค Collection ์ธํฐํ์ด์ค์์ ์ ์๋ ๋ฉ์๋์ List ์๋ฃ๊ตฌ์กฐ์ ํ์ํ ๋ฉ์๋๊ฐ ์ถ๊ฐ๋ก ์ ์ ๋๋ค. โซ ๋ํ์ ์ธ List ์๋ฃ๊ตฌ์กฐ์ ์ปฌ๋ ์
ํด๋์ค → ArrayList๊ฐ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํด๋์ค ArrayList ํด๋์ค๋? · Array์ ๊ฐ์ฅ ์ ์ฌํ ์ปฌ๋ ์
ํด๋์ค์ด๋ค. · Array์ฒ๋ผ ๊ฐ์ฒด ๋ด๋ถ ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ธฐ ์ํ ์ธ๋ฑ์ค๊ฐ ์กด์ฌํ๋ค. · Array์ ๋ค๋ฅด๊ฒ ์์ฑ๋ ๊ฐ์ฒด์์ ๋ฐ์ดํฐ์ ์ถ๊ฐ, ์ญ์ ..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
์ปฌ๋ ์
ํ๋ ์์ํฌ (Collection framework) ๋ค์ํ ์๋ฃ๊ตฌ์กฐ์ ๊ตฌํ์ ์ํ ํด๋์ค์ ์ธํฐํ์ด์ค์ ์งํฉ โซ ์ปฌ๋ ์
ํ๋ ์์ํฌ ํด๋์ค์ Array์ ์ฐจ์ด์ 1. Array๋ ์ ์ํ ๋ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ์ ํ์ฌ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ์ง๋ง, ์ปฌ๋ ์
ํ๋ ์์ํฌ ํด๋์ค๋ ๋ฐ์ดํฐ ๊ฐ์์ ๋์ ์ธ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค. 2. Array๋ Object๋ int, charํ ๋ฑ์ Primitive Type์ ์์๋ก ๊ฐ์ง ์ ์์ง๋ง, ์ปฌ๋ ์
ํ๋ ์์ํฌ ํด๋์ค๋ ๊ฐ์ฒด๋ง์ ์์๋ก ๊ฐ์ง๋ค. ์ปฌ๋ ์
ํ๋ ์์ํฌ์ ์ฃผ์ ์ธํฐํ์ด์ค 1. List ์ธํฐํ์ด์ค 2. Set ์ธํฐํ์ด์ค 3. Map ์ธํฐํ์ด์ค (* List์ Set ์ธํฐํ์ด์ค๋ ๋ชจ๋ Collection ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ ์ ์ํ์ง๋ง, Map ์ธํฐํ์ด์ค๋ ๊ตฌ์กฐ์์ ์ฐจ์ด๋ก Col..