๐Ÿต java

DTO(Data Transfer Object) ๊ณ„์ธต ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด ๋กœ์ง์„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ์ˆœ์ˆ˜ํ•œ ๋ฐ์ดํ„ฐ ๊ฐ์ฒด(getter & setter ๋งŒ ๊ฐ€์ง„ ํด๋ž˜์Šค) ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•ด์•ผ ํ•จ ์šฉ๋Ÿ‰์ด ์ž‘์€ ๋‹จ์ˆœํ•œ ํ™˜๊ฒฝ์œผ๋กœ, ํ•œ ๊ฐ€์ง€ ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ DB - Table - Model - DTO DTO๋ฅผ ๋งŒ๋“ค๋ฉด password๋ฅผ ๋…ธ์ถœ์‹œํ‚ค์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. Model๋ฅผ ๋…ธ์ถœ์‹œ์ผœ์„œ ๊ฐ’์„ ๋นผ๋ฉด ์•ˆ๋˜๋‚˜? - ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๊ฐ€ ๋…ธ์ถœ๋œ๋‹ค. DTO๋ฅผ ๊ณต์œ ํ•˜๋ฉด ์•ˆ๋˜๋‚˜? ๐Ÿ” ํšจ๊ณผ์ ์ธ DTO ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ๋ฅผ ์ตœ์†Œํ™” ⇒ ์ฝ”๋“œ๋ฅผ ์ผ์ผ์ด ์ƒˆ๋กœ ์ž‘์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ ์ž‘์„ฑ์ด ์šฉ์ดํ•ด์•ผ ํ•จ ⇒ DTO๋Š” ์ž‘์„ฑ์ด ์–ด๋ ค์šธ ์ •๋„๋กœ ๋ณต์žกํ•ด์„œ๋Š” ์•ˆ๋จ ์ฝ์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ ⇒ ๋ˆ„๊ตฌ๋“ ์ง€ ์ฝ”๋“œ ๊ตฌ๋ฌธ์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋„๋ก DTO๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ..
๋ฆฌํ”Œ๋ ‰์…˜์ด๋ž€ ? 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..
c0zi
'๐Ÿต java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (8 Page)