Virtualized List๋ก DOM๋ค์ด์ดํธ ํ๊ธฐ
- #Virtualized List
- #react-virtual
- #๋ฌดํ์คํฌ๋กค
์๋ ํ์ธ์. ๋ ธ๋จธ์ค ํ๋ก ํธ์๋ ํ ๊น๋ฏผ์ฃผ์ ๋๋ค.
์ ํฌ ํ๋ก ํธ์๋ํ์ ์ฑ๋ ๋ฐ ์คํ ์ด์์ ๋ฐ์ํ๋ ์๋ ์ด์๋ฅผ ์ธ์งํ๊ณ , ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํ ์คํฐ๋๋ฅผ ์งํํ์ต๋๋ค. ์ต๊ทผ UX/UI์ ์ค์์ฑ์ด ์ปค์ง ๋งํผ, ํ๋ก ํธ์๋ ์ฐจ์์์ ๊ฐ์ ํ ์ ์๋ ์ข์ ๋ฐฉ๋ฒ์ด๋ผ ์๊ฐ๋์ด ๊ณต์ ๋๋ฆฝ๋๋ค.
Virtualized List ์คํฐ๋ ๋ฐฐ๊ฒฝ
- ๋ฌธ์ ์ธ์
ํผ๋ ๊ฒ์๋ฌผ์ ๊ธธ๊ฒ ์คํฌ๋กคํ ๋ ํผ๋ ๋
ธ์ถ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ QA๊ฐ ์ ์๋๋ฉด์ ๋ฌธ์ ๋ฅผ ์ธ์งํ๊ฒ ๋์์ต๋๋ค. ๋ฐฑ์๋์์ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๊ฐ์ ํด API ์๋ต ์๊ฐ์ ํฌ๊ฒ ๋จ์ถํด์ฃผ์
จ์ง๋ง, ๊ฒ์๊ธ์ด ๋ง์ ์ฑ๋์์๋ ์ฌ์ ํ ์คํฌ๋กค ์ ๋ก๋ฉ ์ง์ฐ๊ณผ ๋ฐ์ด์ด ๋ฐ์ํ์ต๋๋ค.
- ๋ฌธ์ ์ํฉ
์คํฌ๋กค์ด ์งํ๋ ์๋ก DOM์ ์๋ง์ ์๋ฆฌ๋จผํธ๊ฐ ๋์ ๋๋ฉด์ ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๋น์ฉ์ด ๊ธ๊ฒฉํ ์ฆ๊ฐํ๋ ๊ฒ์ด ์์ธ์ด์์ต๋๋ค. ๊ฒฐ๊ตญ API ์๋๊ฐ ๊ฐ์ ๋์์์๋ DOM ๋ ๋๋ง ์์ฒด๊ฐ ์๋ ์ ํ์ ๋ฐ์ด์ ์ ๋ฐํ๊ณ ์์์ต๋๋ค.
๋ฐ๋ผ์, ์ ํฌ๋ ์๋ฒ ์ต์ ํ์ ๋ณ๊ฐ๋ก ํ๋ก ํธ์๋ ์ฐจ์์์์ ๊ทผ๋ณธ์ ์ธ ์ฑ๋ฅ ๊ฐ์ ์ด ํ์ํ๋ค๊ณ ํ๋จํ์ต๋๋ค. ๊ทธ ๊ณผ์ ์์ ๋ถํ์ํ DOM ๋ ๋๋ง์ ์ต์ํํ๊ณ ์คํฌ๋กค ์ฑ๋ฅ์ ์์ ์ ์ผ๋ก ์ ์งํ ์ ์๋ Virtualized List ๊ธฐ์ ์ด ์ ํฉํ๋ค๊ณ ๋ณด์๊ณ , ์ด์ ๋ฐ๋ผ ํด๋น ๊ธฐ์ ์ ๋ํ ์คํฐ๋๋ฅผ ์งํํ๊ฒ ๋์์ต๋๋ค.
Virtualized List๋?
: Virtualized List๋ ๋ทฐํฌํธ, ์ฌ์ฉ์์ ํ๋ฉด์ ๋ณด์ด๋ ํญ๋ชฉ๋ง DOM์ ๋ ๋๋งํ๊ณ , ๋ณด์ด์ง ์๋ ํญ๋ชฉ์ ๋ ๋๋งํ์ง ์๋ ๊ธฐ๋ฒ์
๋๋ค.
Virtualized List ์ ์ฉ์ ํ
์คํธ ํ๊ฒฝ ํผ๋ ์ํฉ
ํ์ฌ ์ ํฌ ํผ๋๋ฅผ ๋ณด์๋ฉด ์ฌ์ฉ์์๊ฒ๋ ํ๋ ๊ฐ์ ํผ๋๋ง ๋ณด์ด์ง๋ง, ์ค์ DOM ๊ตฌ์กฐ๋ฅผ ํ์ธํด๋ณด๋ฉด ํจ์ฌ ๋ ๋ง์ ํผ๋ ์์๋ค์ด ๋ ๋๋ง๋๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ฆ, Virtualized List๊ฐ ์ ์ฉ ๋์ด์์ง ์์ ๊ฒฝ์ฐ ์์ญ๊ฐ, ๋ง๊ฒ๋ ์์ญ๋ง๊ฐ์ ํผ๋๊ฐ ๋ ๋๋ง๋์ด ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ์ฑ๋ฅ์ ์ง์ ์ ์ธ ๋ถ๋ด์ ์ฃผ๊ฒ ๋ฉ๋๋ค.
Virtualized List๋ฅผ ์ ์ฉํ๋ค๋ฉด
์ด๋ฐ ์ํฉ์์ Virtualized List๋ฅผ ์ ์ฉํ๊ฒ ๋๋ค๋ฉด ์ค์ ์ฌ์ฉ์๊ฐ ๋ณด๊ณ ์๋ ์์๋ง ๋์ ์ผ๋ก DOM์ ์ถ๊ฐํ์ฌ ๋ธ๋ผ์ฐ์ ๊ฐ ์ฒ๋ฆฌํด์ผ ํ DOM ๋ ธ๋ ์๋ฅผ ์ค์ด๊ณ , ๋ ๋๋ง ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ ๊ฒ์ ๋๋ค.
Virtualized List ์ ์ฉํ ํ
์คํธ ํ๊ฒฝ ํผ๋ ์ํฉ
ํ์ฌ ํ๋กฌ์ Virtualized List๊ฐ ํ์ํ ์ด์
ํ์ฌ ํ๋กฌ ์ด์ํ๊ฒฝ์์๋ ๋ง์ ์ฑ๋์ ๊ฒ์๊ธ์ด ์ง์์ ์ผ๋ก ๋์ ๋๊ณ ์์ต๋๋ค. ์ด๋ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋๊ฑธ ์๋ ค์ฃผ๋๋ฐ์,
์ค์ ๋ฐ์ดํฐ๋ฅผ ํตํด ์ดํด ๋ณด์๋ฉด 2025๋ 7์ 9์ผ ๊ธฐ์ค, ํ๋ก๋ฏธ์ค๋์ธ ํผ๋ ํฌ์คํธ๋ 107,717๊ฐ์์ผ๋ 2๋ฌ ๋ค์ธ 9์ 2์ผ ๊ธฐ์ค, ํ๋ก๋ฏธ์ค๋์ธ ํผ๋ ํฌ์คํธ 140,426๊ฐ๋ก ์ฝ 4๋ง๊ฐ์ ํผ๋ ํฌ์คํธ๊ฐ ์ฆ๊ฐํ์ต๋๋ค โฌ๏ธ
์ผ๋ฐ์ ์ผ๋ก ํ๋ฉด์ 500๊ฐ ์ด์์ ์์๊ฐ ๋ ๋๋ง๋๋ ์ํฉ์์๋ ๊ฐ์ํ๊ฐ ํฐ ํจ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค.
๋ฐ๋ผ์ ํ๋กฌ์ Virtualized List๋ฅผ ์ ์ฉํ๋ฉด ์คํฌ๋กค ์ฑ๋ฅ๊ณผ ์ ๋ฐ์ ์ธ ์ฌ์ฉ์ ๊ฒฝํ์ ๋์ฑ ์์ ์ ์ผ๋ก ๊ฐ์ ํ ์ ์์ ๊ฒ์ ๋๋ค.
์คํฐ๋ ๋ชฉํ ๋ฐ ์งํ
๋ณธ๊ฒฉ์ ์ธ ์คํฐ๋์ ๋ค์ด๊ฐ๊ธฐ์ ์ ํฌ๋ ์ธ๊ฐ์ง์ ๋ชฉํ๋ฅผ ์ ํ์ต๋๋ค.
์ฒซ๋ฒ์งธ, Virtualized List์ ๊ฐ๋ ๊ณผ ์ฑ๋ฅ ์ต์ ํ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , @tanstack/react-virtual ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ต์ํด์ง๊ธฐ
๋๋ฒ์งธ, ์ง์ ๊ตฌํ์ ํตํด ๋ ๋๋ง ์ต์ ํ ๊ธฐ๋ฒ ์ฒด๋
์ธ๋ฒ์งธ, ์ค์ ์๋น์ค์ ์ ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ๊น์ง ์์ฑํ๊ธฐ์ ๋๋ค.
์ ๋ชฉํ๋ฅผ ๋ฐํ์ผ๋ก,
1์ฃผ์ฐจ์ @tanstack/react-virtual ๊ณต์๋ฌธ์ ๋ฅผ ํตํ Virtualized List์ ๊ฐ๋
์ ๋ฆฝํ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ธฐ์ ์ ์ฐ๋ฆฌ ์๋น์ค์ ๋์
ํ์๋ ๋ฐ์ํ ์ ์๋ ์ด์๋ ์ฐ๋ ค์ฌํญ์ ๊ณต์ ํ์ต๋๋ค.
2์ฃผ์ฐจ์ ํ๋ก์ ํธ๋ด ์ํฉ๋ณ๋ก ์ด๋ค ๋ฐฉ์์ ์ ๊ทผ์ ํด์ผ ํ ์ง์ ๋ํ ๊ณ ๋ฏผ๊ณผ ๋ ผ์๋ฅผ ์งํํ์ต๋๋ค.
- ๊ฐ์ํ ๋ฐฉ์์ด๋ ๋ฐฉ๋ฒ๋ค ์ค ์ด๋ค๊ฑธ ์ฑํํ ์ง์ ๋ํ ๊ณ ๋ฏผ๊ณผ ๋
ผ์ ์งํ
- ๊ณต์๋ฌธ์์ ๋์์๋ ์์๋ ์ง์ ๋ ํน์ ์์ญ ์์์ ์คํฌ๋กค์ ํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ฐ๋ฆฌ ํ๋ก์ ํธ์๋ ๋ง์ง ์์์ โ ํน์ ์์ญ์ด ์๋ ํ๋ฉด ์ ์ฒด๋ฅผ ๊ธฐ์ค์ผ๋ก ์คํฌ๋กคํด๋ ์์ดํ
๋ฆฌ์คํธ ์์ญ์ด ์คํฌ๋กค ๋์ด์ผํ์
- useVirtualizer์ ํตํด ํน์ ์์ญ ์คํฌ๋กค์ ๋จผ์ ๊ตฌํํด๋ณด๊ณ , useWindowVirtualizer๋ก ์๋์ฐ ์์ญ ์์ ์คํฌ๋กค์ด ๋๋๋ก ์์ ์งํ
- ๋์ด๊ฐ ์ ํด์ ธ์๋ ์์ญ์ ์์
์ ํฐ ๋ฌธ์ ๊ฐ ์์์ผ๋ ๋์ด๊ฐ ์์ดํ
๋ง๋ค ๋ค๋ฅธ ๊ฒฝ์ฐ ๊ณต์๋ฌธ์์ ๋์์๋dynamic ์ variable์ค ์ด๋ค๊ฑธ ์ฑํํด์ผ ํจ์จ์ ์ผ์ง์ ๋ํ ๊ณ ๋ฏผ
- ์์ดํ
์ด ๋ ๋๋ง๋ ํ ref={virtualizer.measureElement}๋ฅผ ํตํด ๋์ด๋ฅผ ์ถ์ ํ ์ ์๋ dynamic์ ์ฑํํด์ ์์
์งํ
- ์์ดํ
์ด ๋ ๋๋ง๋ ํ ref={virtualizer.measureElement}๋ฅผ ํตํด ๋์ด๋ฅผ ์ถ์ ํ ์ ์๋ dynamic์ ์ฑํํด์ ์์
์งํ
- ๊ณต์๋ฌธ์์ ๋์์๋ ์์๋ ์ง์ ๋ ํน์ ์์ญ ์์์ ์คํฌ๋กค์ ํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ฐ๋ฆฌ ํ๋ก์ ํธ์๋ ๋ง์ง ์์์ โ ํน์ ์์ญ์ด ์๋ ํ๋ฉด ์ ์ฒด๋ฅผ ๊ธฐ์ค์ผ๋ก ์คํฌ๋กคํด๋ ์์ดํ
๋ฆฌ์คํธ ์์ญ์ด ์คํฌ๋กค ๋์ด์ผํ์
3์ฃผ์ฐจ๋ถํฐ 6์ฃผ์ฐจ๊น์ง๋ ํ๋ก์ ํธ์ ์ค ์ ์ฉ์ ํด๋ณด๋ ์๊ฐ์ ๊ฐ์ก์ต๋๋ค.
๊ณ ์ ๋ ๋์ด์ ํ๋ฒ์ ์ ์ฒด ๋ฐ์ดํฐ ๋ก๋ํด์ ๋ณด์ฌ์ฃผ๋ ํ์ด์ง, ๋ฌดํ ์คํฌ๋กค๋ก ๊ตฌํ๋ ํ์ด์ง ๊ทธ๋ฆฌ๊ณ ๋ค์ํ ๋์ด์ ์์ดํ ์ด ์๋ ๋ฌดํ์คํฌ๋กค ํ์ด์ง๊น์ง ๋ค์ํ ์ผ์ด์ค๋ก ์ค์ต์ ์งํํ์ต๋๋ค.
์คํฐ๋ ์งํ์์ ๊ฒช์ ์ด๋ ค์
์ ํฌ๋ ์ด๋ฒ ์คํฐ๋์์ ๋จ์ํ ์ด๋ก ๋ง ํ์ตํ๋ ๋ฐ ๊ทธ์น์ง ์๊ณ , ์ค์ ์ฝ๋๋ก ๊ฐ์ํ ๋ฆฌ์คํธ๋ฅผ ๊ตฌํํ๋ฉฐ ํ์ ๊ฐ์๊ฐ ๋๋ ์ด๋ ค์์ ํจ๊ป ๊ณต์ ํด๋ดค์ต๋๋ค.
๊ทธ ๊ณผ์ ์์ ์๋์ ๊ฐ์ ๋ค์ํ ๊ธฐ์ ์ ์ด์๋ฅผ ๋ง์ฃผํ๊ณ , ์ด๋ฅผ ํด๊ฒฐํด ๋๊ฐ๋ฉฐ ์ฌ๋ฌ ์ธ์ฌ์ดํธ๋ฅผ ์ป์ ์ ์์์ต๋๋ค.
- ๋ ์ด์์ ๊ณ์ฐ ๋ฌธ์
: ํ ์ค์ ํ ๊ฐ์ฉ ๋ฐฐ์นํ ์ง, ๋์ธ ๊ฐ์ฉ ๋ฐฐ์นํ ์ง์ ๋ฐ๋ผ ๊ณ์ฐ ๋ก์ง์ด ๋ฌ๋ผ์ง
โ ๊ธฐ์กด์ ์ ์๋ ์คํ์ผ์ useVirtualizer์ size ์ธ์์ ๋ง๊ฒ ์ฌ์ ์ํ์ฌ ํด๊ฒฐ
- ์คํฌ๋กค ์ค๋ณต ์ด์
: ํน์ ์์ญ์๋ง ๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ์ ์ฉํ๋ ๋ฐฉ์ useVirtualizer ์ฌ์ฉ ์, ๊ฐ์ ๋ฆฌ์คํธ๊ฐ ์ ์ฉ๋๋ ์์ญ๊ณผ ๊ทธ ์ธ ์์ญ์ด ๋ถ๋ฆฌ๋์ด ์คํฌ๋กค์ด ๋ ๊ฐ ์๊ธฐ๋ ๋ฌธ์ ๊ฐ ๋ฐ์
โ useWindowVirtualizer๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ์๋์ฐ ์คํฌ๋กค์ ๋์ํ๋๋ก ์ค์ ํ์ฌ ํด๊ฒฐ
- ๋์ด ๊ฐ ๋ถ๊ท ์ผ ๋ฌธ์
: ์์ดํ
๋ง๋ค ๋์ด๊ฐ ๋ฌ๋ผ ๋ฌดํ ์คํฌ๋กค ์ ์คํฌ๋กค ์์น ๊ณ์ฐ์ด ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ์ด๋ฃจ์ด์ง์ง ์์ ์ด์ํ ์์ง์์ด ๋ํ๋จ
โ estimateSize๋ก ์ถ์ ๋์ด์ ์ ํ๋๋ฅผ ๋์ด๊ณ measureElement์ผ๋ก ์ค์ ๋์ด๋ฅผ ์ธก์ ๋ฐ ์บ์ฑํ์ฌ ํด๊ฒฐ
- ์คํ๋ทฐ ํ๊ฒฝ ๋ฌธ์
: ์คํ๋ทฐ ํํ๋ก ๋
ธ์ถ๋๋ ํ์ด์ง์์ ์คํฌ๋กค๊ณผ ๋ ๋๋ง ๋์์ด ๋งค๋๋ฝ์ง ๋ชปํจ
โ ๊ฐ์๋ฆฌ์คํธ ์์ญ์ ๋์ด๋ฅผ ์ง์ ํด์ค์ผ๋ก์จ ํด๊ฒฐ
์ค์ต์ ์ด๋ ค์์ด ์์์ง๋ง ๊ฐ์ํ(Virtualization)๋ฅผ ์ค์ ๋ก ์ ์ฉํ๋ฉด์ ์ฑ๋ ๋ฐ ์คํ ์ด์ ์ฑ๋ฅ๊ฐ์ ๊ฐ๋ฅ์ฑ์ ํ์ธํ ์ ์์๊ณ ํนํ ์คํฌ๋กค ์ ๋ถํ์ํ DOM ๋ ๋๋ง์ ์ต์ํํจ์ผ๋ก์จ, ์ฌ์ฉ์ ๊ฒฝํ(UX) ์ธก๋ฉด์์๋ ์๋ฏธ ์๋ ์ฑ๋ฅ ํฅ์์ ๊ธฐ๋ํ ์ ์์์ต๋๋ค.
์ค์ต ๊ณผ์ ์์ ๋ง์ฃผํ ๋ค์ํ ๋ฌธ์ ๋ค์ ํจ๊ป ๊ณ ๋ฏผํ๊ณ ํด๊ฒฐํด ๋๊ฐ๋ฉด์, ๋จ์ํ ๊ฐ๋ ํ์ต์ ๋์ด ์ค์ ์๋น์ค ํ๊ฒฝ์์์ ์ ์ฉ ๊ฐ๋ฅ์ฑ์ ๊ตฌ์ฒด์ ์ผ๋ก ๊ฒ์ฆํ ์ ๋ ์์์ต๋๋ค.
์ด๋ฅผ ๋ฐํ์ผ๋ก ๋ ๋ง์ ์ฌ์ฉ์๊ฐ ์ ์ ๋๋๋ผ๋ ์์ ์ ์ด๊ณ ๋ถ๋๋ฌ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณต ํ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค.
๋ค์ ๋จ๊ณ
์คํฐ๋๋ฅผ ํตํด Virtualized List์ ๊ฐ๋ฅ์ฑ์ ํ์ธํ์ผ๋, ๋ค์ ๋จ๊ณ๋
- ๊ฐ์ฅ ๋ฐ์ดํฐ๊ฐ ๋ง์ด ์์ธ ํฌํผ๋์ ์ฐ์ ์ ์ฉ
- CS ์ด์๋ก ์ ๊ธฐ๋ โ๋ค๋ก๊ฐ๊ธฐ ์ ์คํฌ๋กค ์์น ๋ณด์กดโ ๊ตฌํ์ผ๋ก ๋ฌธ์ ํด๊ฒฐ
- Virtualized List์ scrollToIndex API ํ์ฉ
- ์คํ ์ด ์ํ ๋ฆฌ์คํธ ์ ์ฉ
- ํผ๋ ์ ์ฉ ๊ฒฝํ์ ๋ฐํ์ผ๋ก ํ๋
- ๊ณตํต ์ปดํฌ๋ํธํ
- ํ๋ก์ ํธ ์ ์ฒด์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ VirtualizedList ์ปดํฌ๋ํธ ๊ฐ๋ฐ
์คํฐ๋๋ฅผ ๋ง์น๋ฉฐ
์ด๋ฒ ์คํฐ๋๋ฅผ ํตํด Virtualized List์ ๋ํ ๊ธฐ์ ์ ๊ฐ๋ฅ์ฑ์ ์ง์ ํ์ธํ ์ ์์ด์ ์ ํฌ ํ์ ํฐ ์๋ฏธ๊ฐ ์์์ต๋๋ค.
์ค์ ํ๋ก์ ํธ์ ์ ์ฉํ ๊ฒฝ์ฐ ์ฑ๋ฅ ๊ฐ์ ํจ๊ณผ๋ฅผ ๊ธฐ๋ํด๋ณผ ์ ์์๊ณ , ์ต๊ทผ CS๋ก ์ ๊ธฐ๋ ์คํฌ๋กค ๋ณต์ ๋ฌธ์ ๋ํ Virtualized List์ ํน์ฑ์ ํ์ฉํด ํด๊ฒฐํ ์ ์์ ๊ฒ์ผ๋ก ๋ณด์์ต๋๋ค. ๋จ์ํ ๋ฌธ์๋ ์ฑ ์ ์์กดํ์ง ์๊ณ ์ง์ ์ค์ตํด๋ณด๋ ๊ณผ์ ์ด ํนํ ๋์ ๋์์ต๋๋ค.
๋ฐ๋ฉด 6์ฃผ๊ฐ์ ์คํฐ๋์์ ์์ฌ์ด ์ ๋ ์์๋๋ฐ์,
๋์ ๋์ด๋ฅผ ๊ฐ์ง ํผ๋ ๋ฆฌ์คํธ๊น์ง ์์ฑ๋ ์๊ฒ ๊ตฌํํ์ง ๋ชปํ๊ณ , ์ ๋ฐ์ ์ผ๋ก ๊ณต์ ๋ฌธ์์ ๋ํ ์์กด๋๊ฐ ๋์ ์์ฉ๊ณผ ๋ณํ์ ํ๊ณ๊ฐ ์์์ต๋๋ค. ๋ํ ์ด๊ธฐ ๋ชฉํ์๋ ์ต์ข ์ปดํฌ๋ํธ ์์ฑ๊ณผ ์ฑ๋ฅ ์ธก์ ๊น์ง ๋ง๋ฌด๋ฆฌํ์ง ๋ชปํ๋ค๋ ์ ๋ ์์ฌ์์ผ๋ก ๋จ์ต๋๋ค.
๊ทธ๋ผ์๋ ์ด๋ฒ ๊ฒฝํ์ ํตํด ๋ค์ ์คํฐ๋์์ ๋์ฑ ํ์ค์ ์ธ ๋ชฉํ๋ฅผ ์ธ์ฐ๊ณ ๋ฐ์ ์์ผ ๋๊ฐ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค