์šฐํ…Œ์ฝ” ๋ ˆ๋ฒจ 2 ํšŒ๊ณ 
ยท
๊ฐœ๋ฐœ/์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
๋ ˆ๋ฒจ 2๊นŒ์ง€ ๋‚˜์˜ ์„ฑ์žฅ ์—ฌ์ • 2025๋…„๋„ ๋ฒŒ์จ ์ ˆ๋ฐ˜์ด ์ง€๋‚˜๊ฐ”๋‹ค. ์ด์— ๋งž๊ฒŒ ์šฐํ…Œ์ฝ”๋„ ๋ฒŒ์จ ๋ ˆ๋ฒจ 2๊ฐ€ ๋๋‚˜๊ฐ„๋‹ค. ๋ชจ๋“  ์ผ์ด ๋ˆˆ๊นœ์งํ•  ์ƒˆ์— ์ง€๋‚˜๊ฐ„ ๊ฒƒ ๊ฐ™๋‹ค. ์ด ์‹œ๊ฐ„๋“ค์ด ์†Œ์ค‘ํ•˜๊ธฐ์— ์ฒœ์ฒœํžˆ ๊ฐ”์œผ๋ฉด ์‹ถ๋‹ค๊ฐ€๋„ ๋นจ๋ฆฌ ํ˜„์—…์— ๋“ค์–ด๊ฐ€ ๋งŽ์€ ๊ฒƒ์„ ๊ฒฝํ—˜ํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์ด ๊ต์ฐจํ•œ๋‹ค. ํ•˜์ง€๋งŒ ํ๋ฅด๋Š” ์‹œ๊ฐ„์„ ๋ถ™์žก์„ ์ˆ˜๋Š” ์—†๋Š” ๋ฒ•. ์ด์ œ๋Š” ํ•™์Šต์„ ๋„˜์–ด ์ด๋ฅผ ์‹ค์ „์—์„œ ์‚ฌ์šฉํ•  ์ค„ ์•„๋Š” ์‚ฌ๋žŒ์ด ๋˜๋Š” ์ค€๋น„๋ฅผ ํ•  ๋•Œ๊ฐ€ ๋œ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ๋ ˆ๋ฒจ 2์—์„œ์˜ ํšŒ๊ณ ๋ฅผ ํ†ตํ•ด ํ•™์Šต์ž์˜ ์ž…์žฅ์„ ๋Œ์•„๋ณธ๋‹ค. ๋‚˜์˜ ํ•™์Šต ๋ชฉํ‘œ ์ฐพ๊ธฐ๋ ˆ๋ฒจ 2์—์„œ์˜ ๊ณต์‹์ ์ธ ํฐ ๋ชฉํ‘œ๋Š” ์–ด์ฉŒ๋ฉด ๋‚˜์˜ ํ•™์Šต ๋ชฉํ‘œ ์ฐพ๊ธฐ์˜€๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ๋ ˆ๋ฒจ 1์ด ๋๋‚˜๊ฐˆ ๋ฌด๋ ต์— ๊ฐœ์ธ์ ์œผ๋กœ ํšŒ๊ณ ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ด๋ฏธ ํ•™์Šต ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜์—ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๊ธ€์— ๋‚˜์™€์žˆ๋‹ค. ์šฐํ…Œ์ฝ”์—์„œ ๋‚œ ์„ฑ์žฅํ•˜๊ณ  ..
์šฐํ…Œ์ฝ” ๋ ˆ๋ฒจ 2์—์„œ์˜ ์„ธ ๋ฒˆ์งธ ๋ฏธ์…˜ ํšŒ๊ณ 
ยท
๊ฐœ๋ฐœ/์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
์ด๋ฒˆ ๋ฏธ์…˜์€ ‘๋ฐฉํƒˆ์ถœ ์˜ˆ์•ฝ ๋Œ€๊ธฐ’์ด๋‹ค. ์ €๋ฒˆ ํšŒ๊ณ ์—์„œ ๊ธฐ์ˆ ์ ์ธ ๋‚ด์šฉ๋งŒ ํšŒ๊ณ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฒˆ์—๋Š” ๊ธฐ์ˆ ์ ์ธ ๋‚ด์šฉ๊ณผ ๋”๋ถˆ์–ด ์†Œํ”„ํŠธ ์Šคํ‚ฌ์ ์ธ ๋‚ด์šฉ๋„ ์ข€ ํฌํ•จํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์‚ฌ์‹ค ์ด ํšŒ๊ณ ๋ฅผ ์“ฐ๋Š” ์‹œ์ ์—๋Š” ๊ธฐ์–ต์ด ๊ฐ€๋ฌผ๊ฐ€๋ฌผํ•ด์„œ ์ € ๋‹น์‹œ์˜ ์ƒ๊ฐ์ด ์•„๋‹Œ ์ง€๊ธˆ ๊ธฐ์ค€์˜ ์ƒ๊ฐ์„ ์จ๋‚ด๋ ค๊ฐˆ์ง€๋„ ๋ชจ๋ฅธ๋‹ค๋Š” ์ . ์ƒ๊ด€์—†๊ธด ํ•˜๋‹ค๋งŒ!!! ์ด๋ฒˆ์—๋„ ๋…ธ๋ž˜์™€ ํ•จ๊ป˜ ์‹œ์ž‘ํ•ด๋ณด์ž. ๋งค ๋ฏธ์…˜๋งˆ๋‹ค ํ•™์Šต ๋ชฉํ‘œ๋ฅผ ์ •ํ•ด์ฃผ๋Š”๋ฐ, ๋งค๋ฒˆ ๋ณด์ง€์•Š์•˜๋˜ ๊ฒƒ ๊ฐ™์•„์„œ ์ด๋ฒˆ์— ํ•™์Šต ๋ชฉํ‘œ๋ฅผ ๋จผ์ € ์ฒดํฌํ•ด๋ณด๊ฒ ๋‹ค!!! - JPA๋กœ ์ „ํ™˜ํ•˜๊ธฐ์—”ํ‹ฐํ‹ฐ(Entity) ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๊ณ , JPA ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋‹ค. โœ…Spring Data JPA ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ธฐ๋ณธ์ ์ธ CRUD ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. โœ…JPQL ๋˜๋Š” Query Methods๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ..
์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ๊ฐœ์„ ํ•˜๊ธฐ
ยท
๊ฐœ๋ฐœ/์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
๊ธฐ์กด์˜ ์„œ๋น„์Šค ์ฝ”๋“œ@DataJpaTest@Import(ReservationConfig.class)class ReservationApplicationServiceTest { // ... ํ•„์š”ํ•œ ์ฃผ์ž… ๋ฐ ํ…Œ์ŠคํŠธ ... static class ReservationConfig { // @Bean // ... ํ•„์š”ํ•œ ์‹ค์ œ ๊ฐ์ฒด ์ฃผ์ž… ... }} ๋ฌธ์ œ์ 1. @DataJpaTest๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.์ผ๋ฐ˜์ ์œผ๋กœ @DataJpaTest ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ Repository ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค! ๊ฒŒ๋‹ค๊ฐ€ Service ํ…Œ์ŠคํŠธ์—์„œ ์กฐ์‹ฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” @Transactional ์• ๋…ธํ…Œ์ด์…˜์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถ™์–ด์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค. 2. inner class๋กœ Reservat..
์˜์†์„ฑ ์ปจํ…์ŠคํŠธ
ยท
๊ฐœ๋ฐœ/์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
JPA์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์™€ Entity Manager์ด๋‹ค.๊น€์˜ํ•œ ์„ ์ƒ๋„ ๋งํ–ˆ๋‹ค. “์ด๊ฑธ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉด ์ฟผ๋ฆฌ๋ฅผ ์งœ์„œ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค ๋ชปํ•˜๋‹ค.” ๊ทธ๋ ‡๋‹ค๋ฉด, ์™œ ๊ทธ๋Ÿฐ ๊ฒƒ์ผ๊นŒ? ์ œ๋Œ€๋กœ ํ•œ๋ฒˆ ์•Œ์•„๋ณด์ž. JPA๋Š” ์ž๋ฐ”์˜ ํ‘œ์ค€ ORM(Object Relational Mapping) ์ฆ‰, ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์„ ๋งคํ•‘ ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” ORM์ด๋ž€ ๊ธฐ์ˆ ์ด ์ •๋ง ๋‹จ์ˆœํ•ด ๋ณด์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ์ € ๊ฐ์ฒด์™€ ํ…Œ์ด๋ธ”์„ 1:1๋กœ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ์ด ๋ญ๊ฐ€ ์–ด๋ ต๋‹จ ๋ง์ธ๊ฐ€? ์šฐ๋ฆฐ ๊ทธ๊ฒƒ์„ JdbcTemplate๊ณผ ๊ฐ™์€ Jdbc API๋ฅผ ํ†ตํ•ด์„œ๋„ ์ถฉ๋ถ„ํžˆ ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ, JPA๋Š” ์ด ๋‹จ์ˆœํ•จ์„ ๋„˜์–ด ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•œ ํšจ์œจ์ ์ธ ์—”ํ‹ฐํ‹ฐ ๊ด€๋ฆฌ ๊ธฐ์ˆ  ๊ธฐ๋Šฅ, ๋ณ€๊ฒฝ ๊ฐ์ง€, ์ง€์—ฐ ๋กœ๋”ฉ ๋“ฑ์˜ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•œ๋‹ค. ๊ทธ๋ ‡..
์šฐํ…Œ์ฝ” ๋ ˆ๋ฒจ 2์˜ ๋ฏธ์…˜ 2 ํšŒ๊ณ 
ยท
๊ฐœ๋ฐœ/์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
์ด๋ฒˆ ๋ฏธ์…˜์€ ‘๋ฐฉํƒˆ์ถœ ์‚ฌ์šฉ์ž ์˜ˆ์•ฝ’ ๋ ˆ๋ฒจ 2๋ฅผ ํ•˜๋ฉด์„œ ์ œ์ผ ์žฌ๋ฐŒ์—ˆ์ง€ ์•Š์•˜๋‚˜ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค. ํŽ˜์–ด๋„ ๋ฌผ๋ก ์ด๊ณ , step2์—์„œ ํ˜ผ์ž ํ•˜๋Š” ๊ณผ์ •์—์„œ๋„ ๊ต‰์žฅํžˆ ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค! ๊ทธ๋Ÿฐ ์˜๋ฏธ์—์„œ ๋‚˜๋Š” ์ด๋ฒˆ ๋ฏธ์…˜์—์„œ ์–ด๋–ค ๊ฒƒ์„ ๊ณ ๋ฏผํ–ˆ๊ณ , ๋ฐฐ์› ๋Š”์ง€ ํ•œ๋ฒˆ ์จ๋‚ด๋ ค ๊ฐ€๋ณด๋ ค ํ•œ๋‹ค. ์ด๋ฒˆ์—๋Š” ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ step1, step2๋ฅผ ๋‚˜๋ˆ„์–ด ์„ค๋ช…ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ํฐ ์ฃผ์ œ๋ฅผ ํ•˜๋‚˜์”ฉ ์žก์•„๊ฐ€๋ฉฐ ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๊ฒ ๋‹ค! ์ง€๋“ฃ๋…ธ(์ง€๊ธˆ ๋“ฃ๋Š” ๋…ธ๋ž˜)์™€ ํ•จ๊ป˜ ์ถœ๋ฐœํ•ด๋ณด์ž. Mac miller โ€ป JPA ๋„์ž… ์ „๋„๋ฉ”์ธ ๊ฐ์ฒด id์— null์„ ์ง์ ‘ ๋„ฃ๋Š” ํ–‰์œ„๋„๋ฉ”์ธ ๊ฐ์ฒด๊ฐ€ ์˜์†ํ™” ๋˜๊ธฐ ์ „์— id์— null์ด ๋“ค์–ด๊ฐ€๋Š” ์ƒํ™ฉ์ด ํ•„์—ฐ์ ์œผ๋กœ ์ƒ๊ธฐ๊ฒŒ ๋œ๋‹ค. ๊ทธ ๋‹น์‹œ์— ์ƒ์„ฑ์ž์— ์ง์ ‘ null์„ ์ฃผ์ž…ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์—ˆ๋‹ค. Reservation reservat..
persist๋ฅผ ํ•˜๋ฉด ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์—์„œ ์ผ์–ด๋‚˜๋Š” ์ผ
ยท
๊ฐœ๋ฐœ/์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
JPA๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ๊ธฐ๋Šฅ ์ค‘ ๋”ํ‹ฐ ์ฒดํ‚น, ์“ฐ๊ธฐ ์ง€์—ฐ์ด ์žˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ๋”ํ‹ฐ ์ฒดํ‚น์€ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ์—”ํ‹ฐํ‹ฐ์˜ ์ƒํƒœ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜์ด ๋๋‚˜๋Š” ์‹œ์ ์— ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์“ฐ๊ธฐ ์ง€์—ฐ์˜ ๊ฒฝ์šฐ๋Š” JPA๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ฟผ๋ฆฌ๋ฅผ ๋ฐ”๋กœ ๋ณด๋‚ด์ง€ ์•Š๊ณ  ๋ชจ์•„๋‘๋‹ค๊ฐ€ flush ์‹œ์ ์— ํ•œ๋ฒˆ์— ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์ด์ œ ์•„๋ž˜ ์˜ˆ์ œ๋ฅผ ๋ณด์ž. @Test@Transactionalvoid scenario_1() { EntityB b = new EntityB("์ด๋ฆ„ ์—†์Œ"); // SEQUENCE System.out.println("์—”ํ‹ฐํ‹ฐB persist"); entityManager.persist(b); System.out.println("----"); b.updateN..
[์šฐํ…Œ์ฝ” ๋ ˆ๋ฒจ2] ๋ฏธ์…˜1, ๋ฐฉํƒˆ์ถœ ์˜ˆ์•ฝ ๊ด€๋ฆฌ ํšŒ๊ณ 
ยท
๊ฐœ๋ฐœ/์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
๋ ˆ๋ฒจ 1์ด ๋๋‚˜๊ณ  ๋ ˆ๋ฒจ 2๊ฐ€ ์‹œ์ž‘๋๋‹ค. ์Šคํ”„๋ง์„ ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ๊ณผ์ •์ด๋ผ๊ณ  ํ•˜๋‹ˆ ๋‚˜๋ฅผ ์œ„ํ•œ ๊ณผ์ •์ด๋‹ค~๋ฐฉํƒˆ์ถœ ์˜ˆ์•ฝ ๊ด€๋ฆฌSTEP1[1-3๋‹จ๊ณ„] PR ๋งํฌ ํŽ˜์–ด๋กœ ํฌ์Šคํ‹ฐ, ๋‹ค๋กœ๊ฐ€ ๋˜์—ˆ๋‹ค. ๋ ˆ๋ฒจ๋งˆ๋‹ค 3์ธ ํŽ˜์–ด๋ฅผ ํ•œ๋ฒˆ์”ฉ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ฃผ๋ณ€์—์„œ 3์‹œ๊ฐ„๋งŒ ํˆฌ์žํ•ด๋„ ๋ฏธ์…˜์„ ๊ตฌํ˜„ํ• ๋งŒํผ ๊ฐ„๋‹จํ•˜๋‹ค๊ณ  ํ•ด์„œ ํ•™์Šต ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์„ ๋งŽ์ด ์ผ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐœ์ธ์ ์œผ๋กœ ๊ถ๊ธˆํ•œ ํ‚ค์›Œ๋“œ๋“ค์— ๋Œ€ํ•ด์„œ๋„ ํ•™์Šตํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์•„์‰ฌ์šด ์ ์€ ์‰ฌ์šด ๋ฏธ์…˜์ด๊ณ  ๊ธฐ๊ฐ„์ด ์งง์€๋งŒํผ ๋น ๋ฅด๊ฒŒ merge ๋˜์—ˆ๋‹ค๋Š” ์ ์ด๋‹ค.๋‚˜๋Š” ๋ญ˜ ๋ฐฐ์› ์„๊นŒ?- `@RequestBody` vs `@ModelAttribute`๋ฏธ์…˜ ์ค‘ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ ์‹œ Body์— ํฌํ•จ๋œ Json ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ๋ฐ”๋กœ ๋ฐ›์œผ๋ ค๊ณ  ํ•  ๋•Œ, ํŒŒ๋ผ๋ฏธํ„ฐ์— ์ ์šฉํ•œ ๋‘ ์–ด๋…ธํ…Œ์ด์…˜ `@..
์—”ํ‹ฐํ‹ฐ, VO...
ยท
๊ฐœ๋ฐœ/์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
๋ฏธ์…˜์„ ํ•˜๋‹ค๋ณด๋ฉด ์ฃผ๋ณ€์—์„œ ์—ฌ๋Ÿฌ ์ƒˆ๋กœ์šด ์šฉ์–ด๋“ค์ด ๋“ค๋ฆฐ๋‹ค. ๋„๋ฉ”์ธ, ๋ชจ๋ธ, ์—”ํ‹ฐํ‹ฐ, ... ๋ ˆ๋ฒจ 1๊ณผ๋Š” ์‚ฌ๋ญ‡ ๋‹ค๋ฅธ ์ „๋ฌธ์ ์ธ ์šฉ์–ด๋“ค์ด ์„œ์„œํžˆ ๋“ฑ์žฅํ•œ๋‹ค. ์•„๋งˆ ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜, ๊ฐœ๋ฐœ๋ก ๋“ค์„ ๋ฐฐ์šฐ๋‹ค๋ณด๋‹ˆ ๊ทธ๋Ÿฐ ๊ฒƒ์ด๋ผ ์ƒ๊ฐ๋œ๋‹ค.๊ทธ๋Ÿฐ ๋ณ€ํ™”์˜ ์†Œ์šฉ๋Œ์ด ์†์—์„œ ๋ณธ์ธ๋„ ์–ด๋А์ •๋„ DDD ์— ๋ฐœ์„ ๋‹ด๊ทผ๋งŒํผ ์šฉ์–ด์— ๋Œ€ํ•œ ์ •๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ ํ•ด๋‹น ๊ธ€์„ ์ž‘์„ฑํ•œ๋‹ค. - ๋„๋ฉ”์ธ, ๋ชจ๋ธ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?๊ฐ€๋ณ๊ฒŒ ๋„๋ฉ”์ธ๊ณผ ๋ชจ๋ธ์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐ๋ฅผ ํ•ด๋ณด์ž. ๋„๋ฉ”์ธ์ด ๋ฌด์—‡์ผ๊นŒ? ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ฒŒ ์–˜๊ธฐํ•˜๋ฉด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ ์˜์—ญ์ด๋‹ค. ์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์ƒ ์˜์—ญ์ด๋‹ค. ๋Œ€์ƒ ์˜์—ญ์ด๋ผํ•จ์€ ๋ณธ์ธ์˜ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ฒ”์œ„๊ฐ€ ํฌ๊ฒŒ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์˜ˆ์•ฝ์— ๋Œ€ํ•œ ๋ฌธ์ œ ์˜์—ญ์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ณ  ์ด๋ฅผ ๋‹ค์‹œ ์˜ˆ์•ฝ ์ƒ์„ฑ, ์‚ญ์ œ ๋“ฑ์˜..