DTO(Data Transfer Object) ๊ณ์ธต ๊ฐ ๋ฐ์ดํฐ ๊ตํ์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฐ์ฒด ๋ก์ง์ ๊ฐ์ง์ง ์๋ ์์ํ ๋ฐ์ดํฐ ๊ฐ์ฒด(getter & setter ๋ง ๊ฐ์ง ํด๋์ค) ๋น์ฆ๋์ค ๋ก์ง์ด ์๋ ๋ฐ์ดํฐ๋ง ์ ์ฅํด์ผ ํจ ์ฉ๋์ด ์์ ๋จ์ํ ํ๊ฒฝ์ผ๋ก, ํ ๊ฐ์ง ์์
๋ง ์ํ DB - Table - Model - DTO DTO๋ฅผ ๋ง๋ค๋ฉด password๋ฅผ ๋
ธ์ถ์ํค์ง ์์ ์ ์๋ค. Model๋ฅผ ๋
ธ์ถ์์ผ์ ๊ฐ์ ๋นผ๋ฉด ์๋๋? - ํ
์ด๋ธ ๊ตฌ์กฐ๊ฐ ๋
ธ์ถ๋๋ค. DTO๋ฅผ ๊ณต์ ํ๋ฉด ์๋๋? ๐ ํจ๊ณผ์ ์ธ DTO ์์ฉ๊ตฌ ์ฝ๋๋ฅผ ์ต์ํ ⇒ ์ฝ๋๋ฅผ ์ผ์ผ์ด ์๋ก ์์ฑํ๊ธฐ ๋๋ฌธ ์์ฑ์ด ์ฉ์ดํด์ผ ํจ ⇒ DTO๋ ์์ฑ์ด ์ด๋ ค์ธ ์ ๋๋ก ๋ณต์กํด์๋ ์๋จ ์ฝ์ ์ ์์ด์ผ ํจ ⇒ ๋๊ตฌ๋ ์ง ์ฝ๋ ๊ตฌ๋ฌธ์ ๋ถ์ํ ์ ์๋๋ก DTO๋ฅผ ์ฌ์ฉํ๋ ์ด์ ..
๐ต java
๋ฆฌํ๋ ์
์ด๋ ? 1. ๋ฆฌํ๋ ์
(Reflection) : ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ํด๋์ค, ๋ฉ์๋, ํ๋ ๋ฑ์ ๋ํ ์ ๋ณด๋ฅผ ์ป๊ฑฐ๋ ์กฐ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ API ํด๋์ค์ ์ ๋ณด ๋ถ์, ์ธ์คํด์ค ์์ฑ, ๋ฉ์๋ ํธ์ถ, ํ๋์ ๊ฐ์ ๊ฐ์ ธ์ค๊ฑฐ๋ ์ค์ ๋ฑ์ ์์
์ํ 2. ๋ฆฌํ๋ ์
์ด ์ด์ฉ๋๋ ์ํฉ 1. ๋ฐํ์ ์์ ๋์ ์ผ๋ก ํด๋์ค๋ฅผ ๋ก๋ํด์ผ ํ๋ ๊ฒฝ์ฐ 2. ํด๋์ค์ ๊ตฌ์กฐ, ๋ฉ์๋, ํ๋ ๋ฑ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ ๋ถ์ํด์ผ ํ๋ ๊ฒฝ์ฐ 3. ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ๋ฉ์๋๋ฅผ ํธ์ถํ๊ฑฐ๋ ํ๋์ ๊ฐ์ ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ ์์ ์ค๋ช
์ผ๋ก๋ ์ดํด๊ฐ ์ด๋ ค์ฐ๋ ์กฐ๊ธ ๋ ์์๋ณด๋๋ก ํ์. # CASE 1 ์ฒซ๋ฒ์งธ ๊ฒฝ์ฐ์์, ๋ค์๊ณผ ๊ฐ์ด 1์ฐจ ๊ฐ๋ฐ์๋ "/login"์ ์
๋ ฅ ๋ฐ์์ ๋ uc.login() ๋ฉ์๋๊ฐ ํธ์ถ๋๋๋ก, "/jo..
๐ง ๊ณต ๋ฃ๊ธฐ ๐ ๋ฌธ์ ์ค๋ช
๋ํ์ด๋ ๋ฐ๊ตฌ๋๋ฅผ ์ด N๊ฐ ๊ฐ์ง๊ณ ์๊ณ , ๊ฐ๊ฐ์ ๋ฐ๊ตฌ๋์๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๋ค. ๋, 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ๋ฒํธ๊ฐ ์ ํ์๋ ๊ณต์ ๋งค์ฐ ๋ง์ด ๊ฐ์ง๊ณ ์๋ค. ๊ฐ์ฅ ์ฒ์ ๋ฐ๊ตฌ๋์๋ ๊ณต์ด ๋ค์ด์์ง ์์ผ๋ฉฐ, ๋ฐ๊ตฌ๋์๋ ๊ณต์ 1๊ฐ๋ง ๋ฃ์ ์ ์๋ค. ๋ํ์ด๋ ์์ผ๋ก M๋ฒ ๊ณต์ ๋ฃ์ผ๋ ค๊ณ ํ๋ค. ๋ํ์ด๋ ํ ๋ฒ ๊ณต์ ๋ฃ์ ๋, ๊ณต์ ๋ฃ์ ๋ฐ๊ตฌ๋ ๋ฒ์๋ฅผ ์ ํ๊ณ , ์ ํ ๋ฐ๊ตฌ๋์ ๋ชจ๋ ๊ฐ์ ๋ฒํธ๊ฐ ์ ํ์๋ ๊ณต์ ๋ฃ๋๋ค. ๋ง์ฝ, ๋ฐ๊ตฌ๋์ ๊ณต์ด ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ์๋ ๋ค์ด์๋ ๊ณต์ ๋นผ๊ณ , ์๋ก ๊ณต์ ๋ฃ๋๋ค. ๊ณต์ ๋ฃ์ ๋ฐ๊ตฌ๋๋ ์ฐ์๋์ด ์์ด์ผ ํ๋ค. ๊ณต์ ์ด๋ป๊ฒ ๋ฃ์์ง๊ฐ ์ฃผ์ด์ก์ ๋, M๋ฒ ๊ณต์ ๋ฃ์ ์ดํ์ ๊ฐ ๋ฐ๊ตฌ๋์ ์ด๋ค ๊ณต์ด ๋ค์ด ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. โจ๏ธ ์
๋ ฅ ์ฒซ์งธ ์ค..
enum์ด๋ enumeration type์ ์ค์ธ ๊ฒ์ผ๋ก, ์๋ฏธ์๋ ์์๋ฅผ ์ด๊ฑฐํ์ฌ ์ฌ์ฉํ๋ ํด๋์ค 1. ๐ฅ enum ์ฌ์ฉ์ ์ฅ์ ์ด๊ฑฐ์ฒด๋ฅผ ๋น๊ตํ ๋ ์ค์ ๊ฐ๋ฟ๋ง ์๋๋ผ ํ์
๊น์ง ์ฒดํฌ ์ด๊ฑฐ์ฒด์ ์์ซ๊ฐ์ด ์ฌ์ ์๋๋๋ผ๋ ๋ค์ ์ปดํ์ผํ ํ์ x 2. ๐ฅ๏ธ ์ฌ์ฉ ์์ (week) โผ Week ์ ์ enum enum Week { MON, TUE, WED, THU, FRI, SAT, SUN } โผ enum ์์๋ฅผ ์ ๋ฌ ๋ฐ๋ today ๋ฉ์๋ ์ ์ public static void today(Week week) { switch (week) { case MON: System.out.println("์ค๋์ ์์์ผ์
๋๋ค."); break; case TUE: System.out.println("์ค๋์ ํ์์ผ์
๋๋ค."); b..