Skip to content

[๐Ÿš€ ์‚ฌ์ดํด1 - ๋ฏธ์…˜ (๋ธ”๋ž™์žญ ๊ฒŒ์ž„ ์‹คํ–‰)] ๋Œ€๊ธธ ๋ฏธ์…˜ ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.#1013

Merged
her0807 merged 61 commits intowoowacourse:minzzun99from
minzzun99:minzzun99
Mar 10, 2026

Conversation

@minzzun99
Copy link

์ฒดํฌ ๋ฆฌ์ŠคํŠธ

  • ๋ฏธ์…˜์˜ ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ชจ๋‘ ๊ตฌํ˜„ํ–ˆ๋‚˜์š”?
  • Gradle test๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ, ๋ชจ๋“  ํ…Œ์ŠคํŠธ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ํ†ต๊ณผํ–ˆ๋‚˜์š”?
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๋‚˜์š”?

์–ด๋–ค ๋ถ€๋ถ„์— ์ง‘์ค‘ํ•˜์—ฌ ๋ฆฌ๋ทฐํ•ด์•ผ ํ• ๊นŒ์š”?

1. ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜ ์ œ์•ฝ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ

์ด๋ฒˆ ๋ฏธ์…˜์—์„œ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ 3๊ฐœ ์ด์ƒ ์‚ฌ์šฉ ๊ธˆ์ง€๋ผ๋Š” ๊ทœ์น™์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด ํด๋ž˜์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ์„ธ๋ถ„ํ™”ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง€๋Š” ์ƒํƒœ๋Š” ์ค„์–ด๋“ค์—ˆ์ง€๋งŒ, ํ•œํŽธ์œผ๋กœ๋Š” ์˜คํžˆ๋ ค ๊ฐ์ฒด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์ ธ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๊ฐ€ ๋” ๋ณต์žกํ•ด์ง„ ๊ฒƒ์ด ์•„๋‹Œ๊ฐ€ํ•˜๋Š” ์˜๊ตฌ์‹ฌ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ณ ๋ฏผ์— ๋Œ€ํ•œ ์˜๊ฒฌ์ด ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค!

๋˜ํ•œ, ์ถœ๋ ฅ ๋กœ์ง์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ DTO๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ๋„ ์œ„์™€ ๊ฐ™์€ ๊ทœ์น™์„ ์ ์šฉํ•˜๋ ค๋‹ค ๋ณด๋‹ˆ PlayerDto ๋‚ด๋ถ€์— ResultDto ๋ฅผ ํ•„๋“œ๋กœ ๊ฐ€์ง€๊ฒŒ ๋œ ๊ฒƒ์ฒ˜๋Ÿผ DTO๊ฐ€ DTO ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•˜๋Š” ๊ตฌ์กฐ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์ด ๋ชฉ์ ์ธ DTO๋ผ๋ฉด ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜ ์ œ์•ฝ์—์„œ ์กฐ๊ธˆ ๋” ์ž์œ ๋กœ์›Œ๋„ ๋˜์ง€ ์•Š์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋Š”๋ฐ ํ•ด๋‹น ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๋ฆฌ๋ทฐ์–ด๋‹˜๊ป˜์„œ๋Š” ์–ด๋–ค ๊ธฐ์ค€์„ ๊ฐ€์ง€๊ณ  ๊ณ„์‹ ์ง€ ์˜๊ฒฌ์€ ์–ด๋– ์‹ ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค!

2. TDD์™€ ์„ค๊ณ„ ์‚ฌ์ด์˜ ์šฐ์„ ์ˆœ์œ„

์ด๋ฒˆ์— TDD๋ฅผ ์ฒ˜์Œ ์‹œ๋„ํ•ด ๋ณด๋ฉด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋ฏธ ์–ด๋А ์ •๋„ ์™„๋ฒฝํ•œ ์„ค๊ณ„๊ฐ€ ๋จธ๋ฆฟ์†์— ์žˆ์–ด์•ผ ํ•˜๋Š” ๊ฒŒ ์•„๋‹๊นŒ ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์„ค๊ณ„๋ฅผ ๊ณ ๋ฏผํ•˜๋‹ค ๋ณด๋‹ˆ ๊ฒฐ๊ตญ ๊ตฌํ˜„์„ ๋จผ์ € ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ์–ด๋‹˜๊ป˜์„œ๋Š” ์ƒ๊ฐํ•˜์‹œ๋Š” TDD์— ๋Œ€ํ•œ ์˜๊ฒฌ๊ณผ TDD์— ๋Œ€ํ•œ ํŒ์ด ์žˆ๋‹ค๋ฉด ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!

3. ๋ฉ”์‹œ์ง€์˜ ์ƒ์ˆ˜ํ™”์— ๋Œ€ํ•œ ๊ณ ๋ฏผ

์ด์ „์— ํ”„๋ฆฌ์ฝ”์Šค๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋”ฐ๋กœ ์ƒ์ˆ˜์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๋Š” ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์€ ํ›„ ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€๋‚˜ ์ถœ๋ ฅ ๋ฌธ๊ตฌ๋ฅผ ๋ชจ๋‘ ์ƒ์ˆ˜ ํด๋ž˜์Šค๋กœ ๊ด€๋ฆฌํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ถœ๋ ฅ๋ฌธ์ด๋‚˜ ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€๋Š” ์ƒ์ˆ˜์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์˜คํžˆ๋ ค ๊ทธ๋Œ€๋กœ ๋‘๋Š” ํŽธ์ด ๊ฐ€๋…์„ฑ์ด ๋” ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ํŽ˜์–ด์˜ ์˜๊ฒฌ์„ ๋ฐ˜์˜ํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๋ฌธ์ž์—ด ๊ทธ๋Œ€๋กœ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ณ ๋ฏผ์— ๋Œ€ํ•œ ์˜๊ฒฌ์ด ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!

4. ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ตฌํ˜„ ์†๋„์— ๋Œ€ํ•œ ๊ณ ๋ฏผ

์ฒซ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฒฝํ—˜ํ•ด๋ณด๋ฉด์„œ ์˜๊ฒฌ์„ ์กฐ์œจํ•˜๊ณ  ์งˆ๋ฌธํ•˜๋Š” ๊ณผ์ •์—์„œ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋„ค๋น„๊ฒŒ์ดํ„ฐ์˜ ์—ญํ• ์—์„œ ํŽ˜์–ด์˜ ์˜๊ฒฌ์ด ๊ถ๊ธˆํ•˜๊ธฐ๋„ ํ•˜๊ณ  ๋ฐฉ์‹์ด ๋‹ฌ๋ž๋˜ ๋ถ€๋ถ„์ด ๊ฝค ์žˆ๋‹ค๋ณด๋‹ˆ ๋„ˆ๋ฌด ๋งŽ์€ ์งˆ๋ฌธ์„ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์–ด๋Š” ๊ดœ์ฐฎ๋‹ค๊ณ  ํ–ˆ์ง€๋งŒ ๋„ˆ๋ฌด ๋งŽ์€ ์งˆ๋ฌธ๊ณผ ๋…ผ์˜๊ฐ€ ๊ตฌํ˜„ ์†๋„๊ฐ€ ๋Šฆ์–ด์ง€๋Š” ์›์ธ์ด ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ์–ด๋‹˜๋งŒ์˜ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋…ธํ•˜์šฐ๋‚˜ ๋„ค๋น„๊ฒŒ์ดํ„ฐ์˜ ์ ์ ˆํ•œ ์งˆ๋ฌธ๊ณผ ๋…ผ์˜์— ๋Œ€ํ•œ ๊ธฐ์ค€์ด ์žˆ์œผ์‹ ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค!

simhokyung and others added 30 commits March 5, 2026 12:52
- ๋”œ๋Ÿฌ ์นด๋“œ 16์ดํ•˜ ์—ฌ๋ถ€ ํ™•์ธ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„
- ์นด๋“œ ์ถ”๊ฐ€ ํ™•์ธ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„
- ํ”Œ๋ ˆ์ด์–ด์˜ ์นด๋“œ ์ถ”๊ฐ€ ์—ฌ๋ถ€ ํ™•์ธ ํ…Œ์ŠคํŠธ
- ํ”Œ๋ ˆ์ด์–ด์˜ ๋ฒ„์ŠคํŠธ ์—ฌ๋ถ€ ํ™•์ธ ํ…Œ์ŠคํŠธ
- ๋ชจ๋“  ํ”Œ๋ ˆ์ด์–ด๋“ค์˜ ๋ฒ„์ŠคํŠธ ์—ฌ๋ถ€ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ
- ํ”Œ๋ ˆ์ด์–ด ์ด๋ฆ„ ๊ธธ์ด๊ฐ€ 20์ž๋ฅผ ์ดˆ๊ณผํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ
- Null ํ˜น์€ ๋นˆ ๊ฐ’ ์ž…๋ ฅ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ
minzzun99 and others added 21 commits March 7, 2026 17:57
Copy link

@her0807 her0807 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์•ˆ๋…•ํ•˜์„ธ์š” ๋Œ€๊ธธ!
๋ฆฌ๋ทฐ์–ด ์ˆ˜๋‹ฌ์ž…๋‹ˆ๋‹ค. ใ…Žใ…Ž
๋ฏธ์…˜ ์ˆ˜ํ–‰ํ•˜๋А๋ผ ๊ณ ์ƒ ๋งŽ์œผ์…จ์–ด์š”.

์ž‘์„ฑํ•ด์ฃผ์‹  ๋‚ด์šฉ ํ† ๋Œ€๋กœ ์ œ ์˜๊ฒฌ ์ ์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์žฌ๋ฐŒ๊ฒŒ ์–˜๊ธฐ ๋‚˜๋ˆ ๋ด์š” ! โ˜บ๏ธ

Comment on lines +4 to +8
public static TotalFinalResult checkGameResult(Players players, Dealer dealer){
return TotalFinalResult.from(players.getPlayers().stream()
.map(player -> checkFinalResult(player, dealer))
.toList());
}
Copy link

@her0807 her0807 Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ”Œ๋ ˆ์ด์–ด ๋ฒ„์ŠคํŠธ โ†’ ๋”œ๋Ÿฌ ๋ฒ„์ŠคํŠธ โ†’ ์ ์ˆ˜ ๋น„๊ต ์ˆœ์„œ๋กœ 3๋‹จ๊ณ„ ํŒ์ •์„ ํ•˜๋Š” ๊ตฌ์กฐ๊ฐ€ ๋ธ”๋ž™์žญ ๊ทœ์น™์„ ์ž˜ ํ’€์–ด๋‚ด์…จ๋„ค์š”
๋‘˜ ๋‹ค ๋ฒ„์ŠคํŠธ๋ฉด ํ”Œ๋ ˆ์ด์–ด ํŒจ๋ฐฐ๋ผ๋Š” ๊นŒ๋‹ค๋กœ์šด ์ผ€์ด์Šค๋„ ๋Œ€๊ธธ๋‹˜์€ ์ž˜ ๊ตฌํ˜„ ํ•˜์…จ์–ด์š” ๐Ÿ’ฏ

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ”Œ๋ ˆ์ด์–ด ๋ฒ„์ŠคํŠธ์ผ ๊ฒฝ์šฐ ๋”œ๋Ÿฌ๊ฐ€ ๋ฒ„์ŠคํŠธ ๋˜์–ด๋„ ๋”œ๋Ÿฌ ์Šน์œผ๋กœ ํŒ์ •ํ•˜๋Š” ๋กœ์ง์—์„œ ์‹œ๊ฐ„์„ ๋งŽ์ด ์ผ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ
์ข‹๊ฒŒ ๋ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

Comment on lines +21 to +27
private static String checkDrawCount(int winCount, int drawCount, int loseCount) {
if (drawCount > 0) {
return String.format("๋”œ๋Ÿฌ: %d์Šน %d๋ฌด %dํŒจ%n", winCount, drawCount, loseCount);
}
return String.format("๋”œ๋Ÿฌ: %d์Šน %dํŒจ%n", winCount, loseCount);
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋”œ๋Ÿฌ: %d์Šน %d๋ฌด %dํŒจ ๊ฐ™์€ ์ถœ๋ ฅ ํฌ๋งท์„ DTO ์•ˆ์—์„œ ๋งŒ๋“ค๊ณ  ์žˆ๋Š”๋ฐ์š”~ DTO ๊ฐ์ฒด๋Š” ๋ง ๊ทธ๋Œ€๋กœ ๊ณ„์ธต๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฐ์ฒด์˜ˆ์š”! ์ถœ๋ ฅ ํฌ๋งทํŒ…์€ View์˜ ์ฑ…์ž„์ด๋‹ˆ๊นŒ, DTO๋Š” ์ˆœ์ˆ˜ ๋ฐ์ดํ„ฐ(int win, int draw, int lose)๋งŒ ์ „๋‹ฌํ•˜๊ณ  ํฌ๋งทํŒ…์€ OutputView์—์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด ๊ณ„์ธต ๊ฐ„ ์ฑ…์ž„์ด ๊น”๋”ํ•ด์งˆ ๊ฒƒ ๊ฐ™์•„์š”. ๋Œ€๊ธธ๋‹˜ ์ƒ๊ฐ์€ ์–ด๋– ์„ธ์š”?

Copy link
Author

@minzzun99 minzzun99 Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด ๋ถ€๋ถ„์€ ์‚ฌ์‹ค ์ฒ˜์Œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ๋„ ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค!
DTO๊ฐ€ ์ถœ๋ ฅ์˜ ๋Œ€ํ•œ ํฌ๋ฉง์„ ์•Œ๊ฒŒ๋˜๋ฉด DTO์˜ ์—ญํ• ๊ณผ ๋ฉ€์–ด์ง€๋Š”๊ฒŒ ์•„๋‹Œ๊ฐ€ ์‹ถ์—ˆ๋Š”๋ฐ, ์ˆ˜๋‹ฌ๋‹˜ ๋•๋ถ„์— ์ƒ๊ฐ์ด ํ™•๊ณ ํ•ด์ง„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!
ํ•ด๋‹น ๋ถ€๋ถ„์€ OutputViewFormatter ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ํฌ๋ฉงํŒ… ๋กœ์ง์€ ์ „๋ถ€ OutputViewFormatter์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค!
๋˜ํ•œ ๊ธฐ์กด์— OutputView์—์„œ ์ฒ˜๋ฆฌํ•˜๋˜ ํฌ๋ฉงํŒ… ๋กœ์ง๋„ ์ „๋ถ€ OutputViewFormatter๋กœ ์˜ฎ๊ฒจ์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค!

์งˆ๋ฌธ

๋‹ค๋งŒ ํ•œ ๊ฐ€์ง€ ๊ถ๊ธˆํ•œ ์ ์€ OutputViewFormatter๋กœ ํฌ๋งทํŒ… ๋กœ์ง์„ ์ „๋ถ€ ์˜ฎ๊ธฐ๋ฉด์„œ OutputView์—๋Š” ๋‹จ์ˆœํ•œ ์ถœ๋ ฅ ๋กœ์ง๋งŒ ๋‚จ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
ํ˜น์‹œ๋‚˜ ์ด๋Ÿฐ ๊ตฌ์กฐ๊ฐ€ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€์ง„ ์•Š์„์ง€, ๋„ˆ๋ฌด ๊ณผํ•œ ๋ถ„๋ฆฌ๋Š” ์•„๋‹์ง€ ์˜๋ฌธ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.
์ˆ˜๋‹ฌ๋‹˜๊ป˜์„œ๋Š” ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹œ๋Š”์ง€ ์˜๊ฒฌ์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ข‹์€ ๊ณ ๋ฏผ์ด์—์š”! ๐Ÿ˜Š OutputView๊ฐ€ ๋‹จ์ˆœํ•ด์ง€๋Š” ๊ฑด ์˜คํžˆ๋ ค ์ข‹์€ ์‹ ํ˜ธ์˜ˆ์š”. ๊ฐ ํด๋ž˜์Šค๊ฐ€ ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ ๊ฐ–๋Š”๋‹ค๋Š” ๋œป์ด๊ฑฐ๋“ ์š”! OutputView๋Š” ์ถœ๋ ฅ๋งŒ, Formatter๋Š” ํฌ๋งทํŒ…๋งŒ ๋‹ด๋‹นํ•˜๋Š” ๊ฑฐ์ฃ . ๋‹จ์ˆœํ•˜๋‹ค๊ณ  ํ•ด์„œ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ์˜คํžˆ๋ ค ์ฝ๋Š” ์‚ฌ๋žŒ ์ž…์žฅ์—์„œ OutputView๋งŒ ๋ณด๋ฉด ์–ด๋–ค ์ˆœ์„œ๋กœ ์ถœ๋ ฅํ•˜๋Š”์ง€ ํ๋ฆ„์ด ํ•œ๋ˆˆ์— ๋ณด์ด๊ฒŒ ๋ผ์š”. ํฌ๋งทํŒ… ์„ธ๋ถ€์‚ฌํ•ญ์ด ๊ถ๊ธˆํ•˜๋ฉด ๊ทธ๋•Œ Formatter๋ฅผ ๋ณด๋ฉด ๋˜๊ณ ์š”. ํด๋ž˜์Šค๊ฐ€ ๋ณต์žกํ•ด์„œ ํ•œ ํŒŒ์ผ์—์„œ ์ด๊ฒƒ์ €๊ฒƒ ๋‹ค ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค, ๋‹จ์ˆœํ•œ ํด๋ž˜์Šค ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ํ˜‘๋ ฅํ•˜๋Š” ๊ตฌ์กฐ๊ฐ€ ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ํ›จ์”ฌ ํŽธํ•˜๋‹ต๋‹ˆ๋‹ค ๐Ÿ‘๐Ÿป

Comment on lines +9 to +16
public class ScoreCaculatorTest {
@DisplayName("์ ์ˆ˜ ๊ณ„์‚ฐ ํ…Œ์ŠคํŠธ")
@Test
void ์ ์ˆ˜_๊ณ„์‚ฐ_ํ…Œ์ŠคํŠธ() {
List<Card> cards = List.of(Card.of(CardNumber.J, CardShape.CLOVER), Card.of(CardNumber.Q, CardShape.CLOVER));
assertThat(ScoreCalculator.calculate(cards)).isEqualTo(20);
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ScoreCaculatorTest์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ 1๊ฐœ๋ฟ์ด์—์š”! ใ…œใ…œใ…œ ์ฐธ๊ณ ๋กœ ํŒŒ์ผ๋ช…์— l์ด ๋น ์ง„ ์˜คํƒ€(Caculator -> Calculator )๋„ ์žˆ์–ด์š”

๐Ÿ˜… ACE๋ฅผ 11๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒฝ์šฐ, ACE๋ฅผ 1๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒฝ์šฐ, ACE 2์žฅ, ํŽ˜์ด์Šค์นด๋“œ(J/Q/K), ๋ฒ„์ŠคํŠธ ๊ฒฝ๊ณ„๊ฐ’(21, 22) ๋“ฑ ํ•ต์‹ฌ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋กœ์ง์˜ ์•ˆ์ „์„ฑ์„ ๋” ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์–ด์š”! ์ด๊ฑด ์ทจํ–ฅ์„ ํƒˆ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ ํ…Œ์ŠคํŠธ๋ช…๋„ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•˜๋ฉด DisplayName ์—†์ด๋„ ์˜๋„๊ฐ€ ๋ฐ”๋กœ ๋“œ๋Ÿฌ๋‚˜์„œ ์ข‹๋‹ต๋‹ˆ๋‹ค ๐Ÿ‘๐Ÿป

Copy link
Author

@minzzun99 minzzun99 Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์•„์ด์ฝ”.. ํŒŒ์ผ๋ช… ์˜คํƒ€๋Š” ๋ถ€๋„๋Ÿฝ์Šต๋‹ˆ๋‹ค..
ํ•ด๋‹น ๋ถ€๋ถ„์€ ์ˆ˜์ • ์™„๋ฃŒํ—€์Šต๋‹ˆ๋‹ค!

๋˜ํ•œ ๋ง์”€ํ•ด์ฃผ์‹ ๋Œ€๋กœ ํ•ต์‹ฌ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค!
์•ž์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ๋” ์ž์„ธํžˆ ์ž‘์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

์ €์˜ ๊ฒฝ์šฐ์—๋Š” ํ…Œ์ŠคํŠธ๋ช…์„ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•˜๋Š”๊ฒŒ ํŽธํ•˜๊ธฐ๋„ ํ•˜๊ณ  ์˜์–ด ๋ฉ”์„œ๋“œ ์ด๋ฆ„์„ ์ƒ๊ฐํ•˜๋Š” ์‹œ๊ฐ„์ด ์ค„์–ด๋“ค์–ด์„œ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•˜๋Š” ํŽธ์ž…๋‹ˆ๋‹ค!
์ €๋Š” ๋ณดํ†ต ํ…Œ์ŠคํŠธ ๋ฉ”์„œ๋“œ ๋ช…์€ ํ•œ๊ธ€๋กœ ์งง๊ฒŒ ์ž‘์„ฑํ•˜๊ณ  @DisplayName์„ ์‚ฌ์šฉํ•ด์„œ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์ข€ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค!

์งˆ๋ฌธ

์ˆ˜๋‹ฌ๋‹˜์ด ๋ณด์‹œ๊ธฐ์—๋Š” ํ…Œ์ŠคํŠธ ๋ฉ”์„œ๋“œ ์ด๋ฆ„์„ ํ•œ๊ธ€๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ ์ง€์—ˆ๋‹ค๋ฉด @DisplayName๊นŒ์ง€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋‹ค์†Œ ์ค‘๋ณต๋˜๊ฑฐ๋‚˜ ๋ถˆํ•„์š”ํ•œ ๊ณผ์ •์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜์‹œ๋Š”์ง€ ์˜๊ฒฌ์ด ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค! ๐Ÿ˜Š

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด, ํ•œ๊ธ€ ๋ฉ”์„œ๋“œ๋ช…์„ ์“ด๋‹ค๋ฉด @DisplayName์€ ํ•„์ˆ˜๋Š” ์•„๋‹ˆ์—์š”! ๋‹ค๋งŒ ๋‘˜์˜ ์—ญํ• ์ด ์กฐ๊ธˆ ๋‹ฌ๋ผ์š”. ๋ฉ”์„œ๋“œ๋ช…์€ ์ฝ”๋“œ ๋ ˆ๋ฒจ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ์šฉ๋„๊ณ , @DisplayName์€ ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๊ฒฐ๊ณผ ๋ฆฌํฌํŠธ์—์„œ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹์€ ์„ค๋ช…์„ ๋ณด์—ฌ์ฃผ๋Š” ์šฉ๋„๊ฑฐ๋“ ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฉ”์„œ๋“œ๋ช…์ด ์—์ด์Šค_๋‘์žฅ์ผ๋•Œ_ํ•˜๋‚˜๋งŒ_11๋กœ_๊ณ„์‚ฐ์ด๋ฉด ์ถฉ๋ถ„ํžˆ ์˜๋„๊ฐ€์ „๋‹ฌ๋˜๋‹ˆ๊นŒ @DisplayName ์—†์ด๋„ ๊ดœ์ฐฎ์•„์š”. ๋‹ค๋งŒ ๋ฉ”์„œ๋“œ๋ช…์ด ๊ธธ์–ด์ง€๋ฉด ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ, ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—” ๋ฉ”์„œ๋“œ๋ช…์€ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ•˜๊ณ  @DisplayName์— ์ƒ์„ธ ์„ค๋ช…์„ ๋„ฃ๋Š” ๋ฐฉ์‹๋„ ๊ดœ์ฐฎ์•„์š”. ํŒ€ ์ปจ๋ฒค์…˜์— ๋”ฐ๋ผ ํ†ต์ผํ•˜๋ฉด ๋˜๋Š” ๋ถ€๋ถ„์ด์—์š” ๐Ÿ˜Š

import java.util.List;

public class BlackjackGame {
private static final int INITIAL_CARD_COUNT = 2;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋ฉ”์‹œ์ง€์˜ ์ƒ์ˆ˜ํ™”์— ๋Œ€ํ•œ ๊ณ ๋ฏผ

์ œ๊ฐ€ ๋ฉ”์„ธ์ง€๋ฅผ ์ƒ์ˆ˜๋กœ ๋ณ€๊ฒฝํ•  ๋•Œ ๊ธฐ์ค€์€ ์ค‘๋ณต ํšŸ์ˆ˜์™€ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ์„ฑ์ด์—์š”!

  • ํ•˜๋“œ์ฝ”๋”ฉ ๋ฌธ์ž์—ด -> 1๊ณณ์—์„œ๋งŒ ์“ฐ์ด๊ณ  ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ์„ฑ ๋‚ฎ์„ ๋•Œ
  • ํด๋ž˜์Šค ๋‚ด private static final -> ๊ฐ™์€ ํด๋ž˜์Šค์—์„œ ๋ฐ˜๋ณต ์‚ฌ์šฉ๋  ๋•Œ
  • ๋ณ„๋„ ์ƒ์ˆ˜ ํด๋ž˜์Šค/Enum -> ์—ฌ๋Ÿฌ ํด๋ž˜์Šค์—์„œ ๊ณต์œ ๋  ๋•Œ

ํ•œ ๊ณณ์—์„œ๋งŒ ์“ฐ์ด๋Š” ๋ฉ”์‹œ์ง€๊นŒ์ง€ ์ƒ์ˆ˜๋กœ ์ถ”์ถœํ•˜๋ฉด ์˜คํžˆ๋ ค ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ ธ์š”. ๊ทธ๋ฆฌ๊ณ  ์„œ๋กœ ๋ฌด๊ด€ํ•œ ์ƒ์ˆ˜๋“ค์ด ํ•˜๋‚˜์˜ Constants ํด๋ž˜์Šค์— ๋ชจ์ด๋ฉด ์ปดํŒŒ์ผ ์‹œ๊ฐ„ ์ฆ๊ฐ€, ์‘์ง‘๋ ฅ ์ €ํ•˜ ๋“ฑ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๊ฑฐ๋“ ์š”! ์ง€๊ธˆ ๋‹จ๊ณ„์—์„œ ๋ณ„๋„ ์ƒ์ˆ˜ ํด๋ž˜์Šค๊นŒ์ง€ ๋งŒ๋“œ๋Š” ๊ฑด ๊ณผ๋„ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์‹ค์šฉ์ ์œผ๋กœ ์ ‘๊ทผํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š” ๐Ÿ˜Š

ํŽ˜์–ด์™€ ์ด๋Ÿฐ ๋ถ€๋ถ„๋“ค์„ ์–˜๊ธฐํ•˜๋ฉฐ ๊ฐ„์ ‘๊ฒฝํ—˜์„ ํ†ตํ•ด ์–ด๋–จ ๋•Œ ์ƒ์ˆ˜ํ™”ํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค! ์ด๋Ÿฐ ๋Œ€๊ธธ๋งŒ์˜ ์ƒ๊ฐ๋“ค์„ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์ด ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์™„์ „ ์žฅ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์š”!! ํšŒ์‚ฌ๊ฐ€๋ฉด ์ด๋ ‡๊ฒŒ ๊ณ ๋ฏผํ•  ์‹œ๊ฐ„์ด ์—„์ฒญ ์ ์–ด์ง€๊ฑฐ๋“ ์š” ใ…œใ…œ

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ƒ์ˆ˜ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์€ ํ”„๋ฆฌ์ฝ”์Šค๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ๋ถ€ํ„ฐ ๊ณ„์† ๊ณ ๋ฏผํ–ˆ๋˜ ๋ถ€๋ถ„์ด์—ˆ์Šต๋‹ˆ๋‹ค!

์ € ์—ญ์‹œ '๋‹ค๋ฅธ ๊ณณ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž์—ด์ด ์•„๋‹Œ๋ฐ ๊ตณ์ด ๋ถ„๋ฆฌ๋ฅผ ํ•ด์•ผ๋˜๋‚˜?' ์‹ถ์€ ์ƒ๊ฐ์„ ์—ฌ๋Ÿฌ๋ฒˆ ํ–ˆ์—ˆ๋Š”๋ฐ ํ”„๋ฆฌ์ฝ”์Šค๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฐ›์•˜๋˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์—์„œ ๋ฌธ์ž์—ด์€ ์ƒ์ˆ˜๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”๊ฒŒ ์ข‹์ง€ ์•Š๊ฒ ๋ƒ๋Š” ๋ฆฌ๋ทฐ๋ฅผ ๊ทธ๋ƒฅ ๋งน๋ชฉ์ ์œผ๋กœ ๋”ฐ๋ž๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ƒ์ˆ˜ํ™”์— ๋Œ€ํ•œ ๋ถ€๋ถ„๋„ ์ƒ์ˆ˜ํ™”๋ฅผ ํ•ด์•ผํ•˜๋Š” ์ด์œ ๋‚˜ ํ•˜์ง€ ๋ง์•„์•ผํ•  ์ด์œ ๋ฅผ ๋ช…ํ™•ํžˆ ๋‹ต๋ณ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ด์‹ฌํžˆ ๊ณ ๋ฏผํ•˜๊ณ  ๋ฌผ์–ด๋ณด๋ฉด์„œ ์ €๋งŒ์˜ ๊ธฐ์ค€์„ ์žก์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

์˜๊ฒฌ ๋„ˆ๋ฌด ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!๐Ÿ‘


๋ธ”๋ž™์žญ ๋ฏธ์…˜ ์ €์žฅ์†Œ
๊ทœ์น™์„ ์ ์šฉํ•˜๋ฉด์„œ ๋ธ”๋ž™์žญ์„ ๊ตฌํ˜„ํ•œ๋‹ค.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํšจ์œจ์— ๊ด€ํ•˜์—ฌ

ํŽ˜์–ด์˜ ๊ฐ€์น˜๋Š” ์ฝ”๋“œ ์ž‘์„ฑ ์†๋„๊ฐ€ ์•„๋‹ˆ๋ผ ์ง€์‹ ๊ณต์œ ์™€ ์‹ค์ˆ˜ ๋ฐฉ์ง€์— ์žˆ์–ด์š”!
๊ทธ๋Ÿฐ๋ฉด์—์„œ ์ถฉ๋ถ„ํ•œ ์„ค๊ณ„์— ๋Œ€ํ•ด์„œ ๋…ผ์˜๋ฅผ ๋‚˜๋ˆ„๊ณ , ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์‹  ๋ถ€๋ถ„ ์•„์ฃผ ์ž˜ํ•˜์…จ์–ด์š”.

๋งŒ์ผ ์„ค๊ณ„๋ฅผ ์•ˆํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„์„ ํ–ˆ๋‹ค๋ฉด ๊ตฌํ˜„์„ ๋ฒˆ๋ณตํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š” ์ผ์ด ๋” ๋งŽ์•˜์„๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•ด์š”.
์„œ๋กœ ๋งŒ์กฑ์Šค๋Ÿฝ์ง€ ๋ชปํ•œ ์ฝ”๋“œ๊ฐ€ ๋‚˜์˜ค๋ฉด ์„œ๋กœ 2๋‹จ๊ณ„์—์„œ ์ฝ”๋“œ๋ฅผ ์•„์˜ˆ ๋’ค์ง‘๊ธฐ๋„ ํ•˜๊ณ ์š” ..^^

๊ทธ๋Ÿผ์—๋„ ์†๋„๋ฅผ ๋‚ด๊ณ ์‹ถ๋‹ค๋ฉด.. ์‹œ๊ฐ„์„ ์ •ํ•ด๋ณด๋Š”๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”. ์ตœ๋Œ€ 5์‹œ๊ฐ„์•ˆ์— ๊ตฌํ˜„์„ ๋๋‚ด๋ณด์ž. ์ด๋Ÿฐ์‹์œผ๋กœ์š”!
๊ทธ๋ฆฌ๊ณ  ํƒ€์ด๋จธ๋ฅผ ์ผœ๊ณ  ์‹œ๊ฐ„์„ ์ •ํ™•ํ•˜๊ฒŒ ์ง€ํ‚ค๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ์ƒ๋Œ€๋ฐฉ ์˜๊ฒฌ์ด ๊ฐ•๋ ฅํ•˜๋ฉด ๋“œ๋ผ์ด๋ธŒ๋ฅผ ๋งก๊ฒจ๋ณด๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ด์—์š”. ์•ˆํ•ด๋ณธ ์ƒ๊ฐ๊ณผ ๊ตฌํ˜„์„ ์˜†์—์„œ ๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์€ ๊ฒฝํ—˜์ด ๋˜๋‹ˆ๊นŒ์š”. ใ…Žใ…Žใ…Ž

+++ ๋งŒ์ผ ์ƒ๋Œ€๋ฐฉ์„ ์„ค๋“ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๊ทธ๊ฒŒ ์ž˜ ์•ˆ๋˜์—ˆ๋‹ค๋ฉด ๋Œ€๊ธธ์ด ์˜๊ฒฌ์„ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ๋จผ์ € ์ƒ๋Œ€๋ฐฉ ์˜๊ฒฌ์— ๋Œ€ํ•ด ๊ธ์ •์ ์œผ๋กœ ๋Œ€ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ด ๋  ์ˆ˜ ์žˆ์–ด์š”. ์„œ๋กœ ๋ผํฌ๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š์€ ์ƒํ™ฉ์—์„œ ๋ฐ˜๋ฐ•์„ ์ง€์†์ ์œผ๋กœ ํ•˜๊ฒŒ๋˜๋ฉด ์ƒ๋Œ€๋ฐฉ์„ ๊ณต๊ฒฉ์„ ๋ฐ›๋Š”๋‹ค๊ณ  ๋А๊ปด์„œ ๋™์ผํ•˜๊ฒŒ ๋ฐ˜๋ฐ•์„ ํ•˜๊ฒŒ๋˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์–ด์š”. ๊ทธ๋ž˜์„œ ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ์ถฉ๋ถ„ํ•œ ๊ณต๊ฐ๊ณผ ์นญ์ฐฌ์„ ํ•˜๋ฉด์„œ.., ๋‚ด ์˜๊ฒฌ์—๋„ ์ˆ˜์šฉ์ ์œผ๋กœ ๋Œ€ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ์œ ๋„ํ•ด๋ณด๋Š”๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ผ์ง€๋„..!!!

๊ทธ๋ฆฌ๊ณ  ์ถ”๊ฐ€๋กœ ํŽ˜์–ด๊ฐ€ ๋๋‚˜๊ณ  ์ผ์ผํšŒ๊ณ ๋ฅผ ํ•ด๋ณด์‹œ๋Š”๊ฑธ ์ถ”์ฒœ๋“œ๋ ค์š”.

  • ์˜ค๋Š˜ ์ข‹์•˜๋˜ ์ ( ์นญ์ฐฌ ํ•œ๊ฐœ)
  • ๋‚˜์—๊ฒŒ ์•„์‰ฌ์šด์  ( ๋ณธ์ธ ์Šค์Šค๋กœ ๋ณธ์ธ์ด ์•„์‰ฌ์šด์  ํ•œ๊ฐœ ๋งํ•˜๊ธฐ)
  • ์šฐ๋ฆฌ์˜ ํŽ˜์–ด ๊ณผ์ •์—์„œ ๊ฐœ์„ ํ•˜๋ฉด ์ข‹์„ ์  (์ด ๋•Œ ์ƒ๋Œ€๋ฐฉ ๋งํˆฌ๊ฐ€ ๊ฐ•ํ–ˆ๋‹ค๊ฑฐ๋‚˜ ์Šค์œ„์นญ ์‹œ๊ฐ„์„ ์ž˜ ์•ˆ์ง€์ผฐ๋‹ค๊ฑฐ๋‚˜..์š”๋Ÿฐ๊ฑธ ๋งํ•˜๋Š”๊ฑฐ์ฃ !)

์ด ์–˜๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋ฉด์„œ, ๋ณธ์ธ์˜ ํƒœ๋„์— ๋Œ€ํ•ด์„œ๋„ ์Šค์Šค๋กœ ๋Œ์•„๋ณด๊ณ  ์‚ฌ์†Œํ•˜์ง€๋งŒ ํŽ˜์–ด๊ฐ€ ์ƒ์ฒ˜๋ฐ›์•˜์„ ์ˆ˜๋„ ์žˆ๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์–ธ๊ธ‰ํ•ด์„œ ์‚ฌ๊ณผํ•˜๊ณ , ๋˜ ๋‚ด๊ฐ€ ๋งˆ์Œ์— ๋‹ด์•„๋‘˜๋งŒํ•œ ๋‚ด์šฉ์„ ๊บผ๋‚ด๋ฉด์„œ ์„œ๋กœ ๋ผํฌ๋ฅผ ์Œ“์„ ์ˆ˜ ์žˆ์–ด์š”

๊ฐ•์ถ”..

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด๋ฒˆ ํŽ˜์–ด๋Š” ์ €์˜ ์งˆ๋ฌธ์ด๋‚˜ ์˜๊ฒฌ์„ ์ž˜ ๋“ค์–ด์ฃผ๊ณ  ์ž˜ ๋ฐ˜์˜ํ•ด์ค˜์„œ ๋„ˆ๋ฌด ํŽธํ•˜๊ฒŒ ์ง„ํ–‰ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์•ž์œผ๋กœ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์˜๊ฒฌ์ด ๋Œ€๋ฆฝ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ฒŒ ๋ ํ…๋ฐ ๋ง์”€ํ•ด์ฃผ์‹ ๋Œ€๋กœ ์ƒ๋Œ€๋ฐฉ์˜ ์˜๊ฒฌ์„ ๊ธ์ •์ ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด์„œ F์˜ ๋งˆ์Œ๊ฐ€์ง์œผ๋กœ ์€๊ทผ์Šฌ์ฉ ์˜๊ฒฌ์„ ์ œ์‹œํ•ด๋ณด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

ํŽ˜์–ด์™€ ํšŒ๊ณ ๋„ ๊พธ์ค€ํžˆ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ถ€์กฑํ•œ ์ ์„ ์ฑ„์›Œ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•œ ๋ฒˆ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

) {
public static PlayerDto from(Player player) {
return new PlayerDto(player.getName().getName(), ResultDto.from(player));
}
Copy link

@her0807 her0807 Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ 3๊ฐœ ์ดํ•˜ ์ œ์•ฝ๊ณผ DTO ๋ณต์žก์„ฑ

๋Œ€๊ธธ๋‹˜ ์งˆ๋ฌธ์„ ๋‘ ๊ฐ€์ง€๋กœ ์ชผ๊ฐœ์–ด ๋‹ต๋ณ€ํ•ด๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ์š”! ๐Ÿ˜Š

1. ์ œ์•ฝ์„ ๋”ฐ๋ž๋”๋‹ˆ ํด๋ž˜์Šค๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์ ธ์„œ ์˜คํžˆ๋ ค ๋ณต์žกํ•ด์ง„ ๊ฒƒ ๊ฐ™์•„์š”

์ด ์ œ์•ฝ์˜ ๋ชฉ์ ์€ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ์ƒํƒœ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฑฐ์˜ˆ์š”! ๊ทธ๋Ÿฐ๋ฐ ์ œ์•ฝ์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด ์–ต์ง€๋กœ ํด๋ž˜์Šค๋ฅผ ์ชผ๊ฐœ๋ฉด ์˜คํžˆ๋ ค ์ „์ฒด ๊ตฌ์กฐ ํŒŒ์•…์ด ์–ด๋ ค์›Œ์งˆ ์ˆ˜ ์žˆ๊ฑฐ๋“ ์š”. ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ธฐ์ค€์€ ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ **์ด ๊ฐ์ฒด๊ฐ€ ๋…๋ฆฝ์ ์ธ ์ฑ…์ž„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๊ฐ€?**์˜ˆ์š”! ์˜ˆ๋ฅผ ๋“ค์–ด Hand๊ฐ€ ์นด๋“œ ๋ชฉ๋ก์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฑด ๋…๋ฆฝ์ ์ธ ์ฑ…์ž„์ด๋‹ˆ๊นŒ ๋ถ„๋ฆฌ๊ฐ€ ์ž์—ฐ์Šค๋Ÿฝ์ง€๋งŒ, ๋‹จ์ˆœํžˆ ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์˜๋ฏธ ์—†์ด ์ชผ๊ฐœ๋Š” ๊ฑด ์˜คํžˆ๋ ค ๋ณต์žก๋„๋ฅผ ๋†’์ด๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋˜์–ด์š”. ๋Œ€๊ธธ๋‹˜ ์ฝ”๋“œ๋Š” Hand, Score, Deck ๋“ฑ ๊ฐ ๊ฐ์ฒด๊ฐ€ ๋ช…ํ™•ํ•œ ์ฑ…์ž„์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ ์ž˜ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด์š” ๐Ÿ‘๐Ÿป

2.DTO์—๋„ ์ด ์ œ์•ฝ์„ ์ ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?

DTO๋Š” ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ชฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ œ์•ฝ์˜ ๋Œ€์ƒ์ด ์•„๋‹ˆ์—์š”! PlayerDto ์•ˆ์— ResultDto๋ฅผ ๋„ฃ์€ ๊ตฌ์กฐ๊ฐ€ ์ œ์•ฝ์„ ์ง€ํ‚ค๋ ค๋‹ค ๋ณด๋‹ˆ ์ƒ๊ธด ๊ฒƒ ๊ฐ™์€๋ฐ์š”~ ๋งŒ์•ฝ name, cards, score๋ฅผ ํŽผ์ณ์„œ ๋‹ด๋Š” ๊ฒŒ ๋” ์ž์—ฐ์Šค๋Ÿฝ๋‹ค๋ฉด ๊ทธ๋ ‡๊ฒŒ ํ•ด๋„ ๊ดœ์ฐฎ์•„์š”. DTO๋ฅผ ์–ต์ง€๋กœ ์ชผ๊ฐœ๋ฉด View ์ฝ”๋“œ์—์„œ playerDto.resultDto().cards() ์ด๋Ÿฐ ์‹์œผ๋กœ ๊บผ๋‚ด์•ผ ํ•ด์„œ ์˜คํžˆ๋ ค ๋ถˆํŽธํ•ด์ง€๊ฑฐ๋“ ์š”!
๋ฌผ๋ก  ํ˜„์žฌ ๊ตฌ์กฐ์ฒ˜๋Ÿผ ResultDto๋กœ ๋ฌถ๋Š” ๊ฒƒ๋„ ์นด๋“œ ์ •๋ณด์™€ ์ ์ˆ˜๋ฅผ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ ๋‹จ์œ„๋กœ ๋ณด๋ฉด ์ถฉ๋ถ„ํžˆ ์˜๋ฏธ ์žˆ๋Š” ์„ค๊ณ„์˜ˆ์š”. ํ•ต์‹ฌ์€ ์ œ์•ฝ์„ ๋งน๋ชฉ์ ์œผ๋กœ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ œ์•ฝ์˜ ์ทจ์ง€๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์š” ๐Ÿ˜Š

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ œ์•ฝ์„ ๋งน๋ชฉ์ ์œผ๋กœ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์ œ์•ฝ์˜ ์ทจ์ง€๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด๋ผ๋Š” ๋ง์”€ ๋•๋ถ„์— ๊ทธ๋ƒฅ ์ด๋ ‡๊ฒŒ ํ•˜๋ผ๋‹ˆ๊นŒ ํ•ด์•ผ์ง€๋ณด๋‹ค๋Š” ์™œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ด๋Ÿฐ๊ฑธ ์คฌ๋Š”์ง€ ์ดํ•ดํ•˜๋ ค ๋…ธ๋ ฅํ•˜๊ณ  ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ ์šฉํ•˜๋Š” ์Šต๊ด€์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
๋งน๋ชฉ์ ์œผ๋กœ ๋”ฐ๋ผ๊ฐ€๋Š” ์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ ์ด์œ ์™€ ๊ธฐ์ค€์„ ๊ฐ€์ง„ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ƒ๊ฐํ•˜๋Š” ์Šต๊ด€์ด ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ •์„ฑ์Šค๋Ÿฌ์šด ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋„ˆ๋ฌด ๊ฐ์‚ฌ๋“œ๋ฆฌ๊ณ  ์ˆ˜๋‹ฌ๋‹˜์˜ ๋ฆฌ๋ทฐ๋กœ ๋งŽ์€ ๋ถ€๋ถ„ ๊นจ๋‹ซ๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!
๋„ˆ๋ฌด ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!๐Ÿ˜Ž

- ACE ์นด๋“œ 11 ๊ณ„์‚ฐ ๋กœ์ง ํ™•์ธ ํ…Œ์ŠคํŠธ
- ACE ์นด๋“œ๋งŒ ๋‘ ์žฅ์ผ ๊ฒฝ์šฐ 12 ๋ฐ˜ํ™˜ ํ™•์ธ ํ…Œ์ŠคํŠธ
- ACE ์นด๋“œ ์„ธ ์žฅ์ผ ๊ฒฝ์šฐ ์ด ํ•ฉ ๊ณ„์‚ฐ ํ…Œ์ŠคํŠธ
- ์นด๋“œ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ 0 ๋ฐ˜ํ™˜ ํ™•์ธ ํ…Œ์ŠคํŠธ
- ์นด๋“œ์˜ ํ•ฉ 21 ์ดˆ๊ณผ ๋ฐ˜ํ™˜ ํ™•์ธ ํ…Œ์ŠคํŠธ
Copy link

@her0807 her0807 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์•ˆ๋…•ํ•˜์„ธ์š” ๋Œ€๊ธธ

๋Šฆ์€์‹œ๊ฐ„๊นŒ์ง€ ๊ณ ์ƒ ๋งŽ์œผ์…จ์–ด์š”.
์š”๊ตฌ์‚ฌํ•ญ ๋ชจ๋‘ ์ถฉ์กฑ๋œ ๊ฒƒ ๊ฐ™์•„ ์ด๋งŒ ๋จธ์ง€ํ• ๊ฒŒ์š”!
๋‹ค์Œ๋ฏธ์…˜์—์„œ ๋งŒ๋‚˜์š” :)

@her0807 her0807 merged commit bd39569 into woowacourse:minzzun99 Mar 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants