Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜
BEST

๋ชจ๋˜ ์•ˆ๋“œ๋กœ์ด๋“œ - Jetpack Compose ์ž…๋ฌธ

Jetpack Compose๋Š” ๋„ค์ดํ‹ฐ๋ธŒ UI๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ Android์˜ ์ตœ์‹  ๋„๊ตฌ ํ‚คํŠธ์ž…๋‹ˆ๋‹ค. ์ ์€ ์ˆ˜์˜ ์ฝ”๋“œ, ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ ๋ฐ ์ง๊ด€์ ์ธ Kotlin API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์„ ๋น ๋ฅด๊ณ  ์ƒ๋™๊ฐ ์žˆ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • Compose๋กœ UI ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•

  • ใ€Š์˜ค์ค€์„์˜ ์•ˆ๋“œ๋กœ์ด๋“œ ์ƒ์กด์ฝ”๋”ฉ ์ฝ”ํ‹€๋ฆฐํŽธใ€‹์˜ ์˜ˆ์ œ๋ฅผ Compose๋กœ ์ž‘์„ฑํ•˜๊ธฐ

  • Compose์™€ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•œ ViewModel ์ž‘์„ฑ ๋ฐฉ๋ฒ•

Jetpack Compose์™€ ํ•จ๊ป˜
์ข€ ๋” ๋ชจ๋˜ํ•œ ์•ˆ๋“œ๋กœ์ด๋“œ UI ๋งŒ๋“ค๊ธฐ

์™œ Jetpack Compose ์ธ๊ฐ€์š”?

๊ธฐ์กด ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์—๋Š” ์–ด๋–ค ์–ด๋ ค์›€์ด ์žˆ์„๊นŒ์š”? ์ถ”์ƒํ™”๋œ ์–ด๋Œ‘ํ„ฐ์˜ ์ž‘์„ฑ, ๋ณต์žกํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ฝ”๋“œ๋“ค, ๋ฆฌ์•กํŠธ ์•ฑ ๊ฐœ๋ฐœ์˜ ์–ด๋ ค์›€...
Compose๋Š” ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„๋“ค์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋งŽ์€ ๋…ธ๋ ฅ์ด ๋‹ด๊ธด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. Compose๋ฅผ ํ†ตํ•ด์„œ ๋„ค์ดํ‹ฐ๋ธŒ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์„ ์ข€ ๋” ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ ๋ช‡ ์ค„์˜ ์ฝ”๋“œ๋กœ ์™„์„ฑํ•˜๋Š” UI

์Šคํฌ๋กค์ด ๋˜๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด๋ด…์‹œ๋‹ค. ๊ธฐ์กด ์•ˆ๋“œ๋กœ์ด๋“œ ์ฝ”๋“œ๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋Œ‘ํ„ฐ์™€ ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ๋งŒ ํ•ด๋„ ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์€ ์ฝ”๋“œ์™€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด์˜ ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฆฌ์ŠคํŠธ ์ฝ”๋“œ

ํ•˜์ง€๋งŒ Compose์—์„œ๋Š” ๋‹จ ๋ช‡ ์ค„์˜ ์ฝ”๋“œ๋งŒ ์ž‘์„ฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Jetpack Compose์˜ ๋ฆฌ์ŠคํŠธ ์ฝ”๋“œ

์ด๋ ‡๋“ฏ Compose๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ด ํš๊ธฐ์ ์œผ๋กœ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค. UI์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ๋ถ„๋ฆฌ ๋˜ํ•œ ํ™•์‹คํ•ด์ง‘๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์„ ์–ธ์  UI ๋ฐฉ์‹์€ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์ด๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ(Flutter, Swift UI)์—์„œ ์ด๋ฏธ ๊ฒ€์ฆ๋œ ๊ฐœ๋ฐœ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ๋„ ํ•„์ˆ˜์ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ•์˜ ๊ธฐํš ๋ฐฐ๊ฒฝ

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


์ข€ ๋” ๋ชจ๋˜ํ•œ ๋ฐฉ์‹์œผ๋กœ
์•ˆ๋“œ๋กœ์ด๋“œ UI ์ž‘์„ฑํ•˜๊ธฐ

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

๊ฐ•์˜ ์ˆ˜๊ฐ• ๋Œ€์ƒ

์ด ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋ฏธ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ์ง€์‹์ด ์–ด๋Š ์ •๋„๋Š” ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ์—†๊ฑฐ๋‚˜, ์ฝ”ํ‹€๋ฆฐ ๋ฌธ๋ฒ•์„ ๋ชจ๋ฅธ๋‹ค๋ฉด ์ด ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ ์–ด๋„ ๊ฐ„๋‹จํ•œ ์•ฑ์„ ์ฝ”ํ‹€๋ฆฐ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ด๋ณด๊ณ  ๊ณต๋ถ€ํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์–ด์•ผ ๊ฐ•์˜ ๋‚ด์šฉ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ•์˜ ํŠน์ง•

์ด ๊ฐ•์˜์—์„œ๋Š” Compose์˜ ๊นŠ์€ ๋‚ด์šฉ๊นŒ์ง€ ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ใ€Š์˜ค์ค€์„์˜ ์•ˆ๋“œ๋กœ์ด๋“œ ์ƒ์กด์ฝ”๋”ฉ ์ฝ”ํ‹€๋ฆฐํŽธใ€‹์— ์ˆ˜๋ก๋œ 8๊ฐ€์ง€ ์˜ˆ์ œ๋ฅผ Compose๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ๊ธฐ์กด ๋ฐฉ์‹์„ ์–ด๋–ป๊ฒŒ Compose์— ๋งž๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ๋ฅผ ์ž‘์„ฑํ•ด ๋‚˜๊ฐ€๋ฉด์„œ ํ•„์š”ํ•œ ์ง€์‹์„ ์Šต๋“ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.


์˜ˆ์ œ๋กœ ๋ฐฐ์šฐ๋Š”
Jetpack Compose

์ด ๊ฐ•์˜์—์„œ๋Š” ๋จผ์ € Compose์˜ ๊ธฐ์ดˆ๋ฅผ ์ตํžŒ ์ดํ›„ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด Compose์˜ ์‚ฌ์šฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๊ฐ ์˜ˆ์ œ์—์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 


๋น„๋งŒ๋„ ๊ณ„์‚ฐ๊ธฐ

ํ™”๋ฉด ์ „ํ™˜ (Navigation)

์Šคํ†ฑ์›Œ์น˜

Timer ํ™œ์šฉ, ViewModel

๋‚˜๋งŒ์˜ ์›น ๋ธŒ๋ผ์šฐ์ €

WebView์˜ ์ปดํฌ์ €๋ธ”ํ™”

์ „์ž์•ก์ž

ํ™”๋ฉด ์ขŒ์šฐ ์Šคํฌ๋กค, ์Šคํฌ๋กค ์• ๋‹ˆ๋ฉ”์ด์…˜

์ˆ˜ํ‰์ธก์ •๊ธฐ
๊ฐ€์†๋„๊ณ„ ์„ผ์„œ ํ™œ์šฉ, Canvas

์‹ค๋กœํฐ
์†Œ๋ฆฌ ์žฌ์ƒ, ๋ฐ˜๋ณต๋˜๋Š” UI ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ

Gps Map
๊ตฌ๊ธ€ ๋งต, ์œ„์น˜ ์ •๋ณด, ์ง€๋„ ์œ„์— ์ด๋™๊ฒฝ๋กœ ๊ทธ๋ฆฌ๊ธฐ

TodoList
MVVM ํŒจํ„ด, Room

์˜ˆ์ƒ ์งˆ๋ฌธ
Q&A

Q. ์•ˆ๋“œ๋กœ์ด๋“œ ์ดˆ๋ณด์ธ๋ฐ ์ด ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•ด๋„ ๋ ๊นŒ์š”?

์ฝ”ํ‹€๋ฆฐ ๋ฌธ๋ฒ•์„ ๊ณต๋ถ€ํ–ˆ๋‹ค๋ฉด ์ˆ˜๊ฐ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Compose๋Š” ๊ธฐ์กด ์•ˆ๋“œ๋กœ์ด๋“œ์˜ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์„ ์•„์˜ˆ ๋ชจ๋ฅด๋”๋ผ๋„ ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๋ฌธ๋ฒ•์— ๋Œ€ํ•œ ํ•™์Šต์€ ์–ด๋Š ์ •๋„ ํ•˜๊ณ  ๋“ฃ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

Q. ์ˆ˜๊ฐ• ์ „์— ๊ฐ•์˜๊ฐ€ ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์„๊นŒ์š”?

์ด ๊ฐ•์˜์—์„œ๋Š” ๋น„๋งŒ๋„ ๊ณ„์‚ฐ๊ธฐ ์˜ˆ์ œ๋ฅผ ๋ฌด๋ฃŒ๋กœ ๊ณต๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ธฐ ์ „์— ๋ฌด๋ฃŒ ๊ฐ•์˜๋ฅผ ๋“ค์–ด๋ณด์‹œ๊ณ  ๊ฐ•์˜ ์Šคํƒ€์ผ์ด ๋งž๋‹ค๋ฉด ์ˆ˜๊ฐ•์‹ ์ฒญ์„ ์ง„ํ–‰ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Q. ๊ฐ•์˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์ œ๊ณต๋˜๋‚˜์š”?

๊ฐ•์˜์—์„œ ๋‹ค๋ฃฌ ๋ชจ๋“  ์†Œ์Šค ์ฝ”๋“œ๋Š” ๋ฌผ๋ก , ๊ฐ•์˜์—์„œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š์ง€๋งŒ ใ€Š์˜ค์ค€์„์˜ ์•ˆ๋“œ๋กœ์ด๋“œ ์ƒ์กด์ฝ”๋”ฉ ์ฝ”ํ‹€๋ฆฐํŽธใ€‹์—๋Š” ์–ธ๊ธ‰๋œ ์†์ „๋“ฑ ์˜ˆ์ œ์˜ ์†Œ์Šค ์ฝ”๋“œ๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.


์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ์ฝ”ํ‹€๋ฆฐ ๋ฌธ๋ฒ•์„ ๋ฐฐ์šฐ์‹  ๋ถ„

  • ๊ธฐ์กด์— ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์„ ํ•ด๋ณด์‹  ๋ถ„ ์ค‘์—์„œ Compose์— ๊ด€์‹ฌ์ด ์žˆ์œผ์‹  ๋ถ„

  • ์ƒˆ๋กœ์šด ์•ฑ ๊ฐœ๋ฐœ ๋ฐฉ์‹์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • ใ€Š์˜ค์ค€์„์˜ ์•ˆ๋“œ๋กœ์ด๋“œ ์ƒ์กด์ฝ”๋”ฉ ์ฝ”ํ‹€๋ฆฐํŽธใ€‹์„ ์ฝ์œผ์‹  ๋ถ„

  • โ€˜๋ชจ๋˜ ์•ˆ๋“œ๋กœ์ด๋“œ - ์ฝ”ํ‹€๋ฆฐ๊ณผ Jetpack ํ™œ์šฉโ€™ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์‹  ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • ์ฝ”ํ‹€๋ฆฐ

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ ์ง€์‹ (Activity, View, ViewModel...)

์•ˆ๋…•ํ•˜์„ธ์š”
์˜ค์ค€์„์ž…๋‹ˆ๋‹ค.

10,168

๋ช…

์ˆ˜๊ฐ•์ƒ

678

๊ฐœ

์ˆ˜๊ฐ•ํ‰

811

๊ฐœ

๋‹ต๋ณ€

4.7

์ 

๊ฐ•์˜ ํ‰์ 

13

๊ฐœ

๊ฐ•์˜

๊ต์œกํ•˜๊ณ  ์ฑ… ์“ฐ๋Š” ๊ฐœ๋ฐœ์ž ์˜ค์ค€์„์ž…๋‹ˆ๋‹ค.
'์˜ค์ค€์„์˜ ์ƒ์กด์ฝ”๋”ฉ' ์œ ํŠœ๋ธŒ ์ฑ„๋„๊ณผ ์ƒ์กด์ฝ”๋”ฉ (https://survivalcoding.com) ๊ต์œก ํ”Œ๋ž˜ํผ์„ ์šด์˜์ค‘์ž…๋‹ˆ๋‹ค.

์ €์„œ
์˜ค์ค€์„์˜ ํ”Œ๋Ÿฌํ„ฐ ์ƒ์กด์ฝ”๋”ฉ (ํ•œ๋น›๋ฏธ๋””์–ด 2020)
์˜ค์ค€์„์˜ ์•ˆ๋“œ๋กœ์ด๋“œ ์ƒ์กด์ฝ”๋”ฉ: ์ฝ”ํ‹€๋ฆฐ ํŽธ (ํ•œ๋น›๋ฏธ๋””์–ด 2018)
๋  ๋•Œ๊นŒ์ง€ ์•ˆ๋“œ๋กœ์ด๋“œ (๋ฃจ๋น„ํŽ˜์ดํผ 2018)

์ฃผ์š”๊ฒฝ๋ ฅ
์˜ค๋ Œ์ง€(OhRange) ๋Œ€ํ‘œ
์„ธ๋ฏผ์ง์—…์ „๋ฌธํ•™๊ต ์ •๋ณด๊ธฐ์ˆ ๊ฐœ๋ฐœ ์ง์—…ํ›ˆ๋ จ๊ต์‚ฌ
์ˆ˜์›์Šค๋งˆํŠธ์•ฑ๊ฐœ๋ฐœํ•™์› ์šด์˜
LG์ „์ž MC์‚ฌ์—…๋ถ€
์ผ๋ณธ ์•„์ด์น˜ํ˜„ (ๆ ช)ๆฑๆตท็†็ง‘ Security์‚ฌ์—…๋ถ€
์ผ๋ณธ ์•„์ด์น˜ํ˜„ (ๆ ช)ๆ—ฅๆœฌใƒ†ใ‚ฏใ‚ทใƒผใƒ‰ IT์‚ฌ์—…๋ถ€

LinkedIn: https://www.linkedin.com/in/junsuk5/

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

50๊ฐœ โˆ™ (7์‹œ๊ฐ„ 44๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!