Home > Data Structure > ๐Ÿงฉ [Data Structure] ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ถ”์ƒ๋ฐ์ดํ„ฐ ํƒ€์ž…

๐Ÿงฉ [Data Structure] ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ถ”์ƒ๋ฐ์ดํ„ฐ ํƒ€์ž…
Data Structure

๐Ÿงฉ [Data Structure] ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ถ”์ƒ๋ฐ์ดํ„ฐ ํƒ€์ž…

1๏ธโƒฃ ์ถ”์ƒ.

  • โ€˜์ถ”์ƒ์˜ ๋ ˆ๋ฒจ์ด ๋†’๋‹คโ€™
    • ์‚ฌ๊ณ ์˜ ์ˆ˜์ค€์ด ๋†’๋‹ค๋ผ๋Š” ๋œป
  • โ€˜์ถ”์ƒ์˜ ์ •์˜โ€™
    • ๊ด€์ ์ด ๊ณ„์ธตํ™”๋˜์–ด ์ƒ์Šนํ•œ ๊ฒƒ.
    • ํ•˜์œ„์˜ ๊ฐœ๋…๋“ค์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์ƒ์œ„์˜ ๊ณ ๊ธ‰ ๊ฐœ๋…์„ ๋งŒ๋“ค์–ด๋‚˜๊ฐ€๋Š” ์ง€์  ๋ฐœ์ „์˜ ๋‹จ๊ณ„.
    • ๊ณ„์ธต์™€์˜ ๋‹จ๊ณ„๊ฐ€ ๋†’์œผ๋ฉด ์ถ”์ƒ์˜ ๋ ˆ๋ฒจ์ด ๋†’์€ ๊ฒƒ์ด๋‹ค.
  • ์ถ”์ƒ์˜ ์—ญ์‚ฌ
    • ์ธ๊ฐ„์˜ ์‚ฌ๊ณ ๊ฐ€ ์ง„ํ™”ํ•ด์˜จ ๊ณผ์ • ์ž์ฒด.
    • ์›์‹œ์ ์ด๊ณ  ๋‚ฎ์€ ๊ด€์ ์ด ๊ณ„์ธตํ™”๋ฅผ ๊ฑฐ์น˜๋ฉด์„œ ์ ์  ์ฐจ์›์ด ๋†’์•„์ ธ ์˜ด.
  • ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์˜ ํด๋ž˜์Šค
    • ํ”„๋กœ์ ํŠธ๋‚˜ ๋ฌธ์ œ ํ•ด๊ฒฐ๊ณผ์ •์—์„œ๋Š” ์ƒˆ๋กœ์šด ์˜๋ฏธ ๋‹จ์œ„๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ  ๊ณ„์ธตํ™”ํ•˜๋Š” ์ž‘์—…์ด ๋ฐ˜๋ณต๋จ.
      • ํด๋ž˜์Šค๊ฐ€ ๋Œ€ํ‘œ์  ์˜ˆ.
  • ๋ชจ๋“ˆ(Module)
    • ์˜๋ฏธ์˜ ๋‹จ์œ„.
    • ํ†ต์ƒ์ ์œผ๋กœ ๋ชจ๋“ˆ์€ ๋จผ์ € ์ถ”์ƒ์ ์ธ ๋ ˆ๋ฒจ์—์„œ ์„ค๊ณ„๋˜๊ณ , ํ›„์— ๊ตฌ์ฒดํ™”๋œ๋‹ค.
  • ๋ชจ๋“ˆ์„ ์ถ”์ƒํ™”(Abstraction)ํ•œ๋‹ค๋Š” ๊ฒƒ.
    • ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ƒ๋žตํ•˜๊ณ  ๊ฐ€์žฅ ์ค‘ํšจํ•œ ๊ธฐ๋Šฅ๋งŒ ๋“œ๋Ÿฌ๋‚ด๋Š” ๊ฒƒ.
  • ์ถ”์ƒํ™”๋Š” โ€˜์œ„์—์„œ-์•„๋ž˜๋กœโ€™ ์ด๋ฃจ์–ด์งˆ ์ˆ˜๋„ ์žˆ๊ณ , โ€˜์•„๋ž˜์—์„œ-์œ„๋กœโ€™ ์ด๋ฃจ์–ด์งˆ ์ˆ˜๋„ ์žˆ๋‹ค.
    • ํฐ ๊ทธ๋ฆผ์„ ๋จผ์ € ๊ทธ๋ฆฌ๊ณ  ์ ์ฐจ ์ž‘์€ ๋ชจ๋“ˆ๋กœ ๋‚˜๋ˆ„์–ด๊ฐ€๋Š” ๊ณผ์ •์€ โ€˜์œ„์—์„œ-์•„๋ž˜๋กœโ€™ ๋ฐฉ์‹.
    • ์ตœํ•˜๋ถ€ ๋‹จ์œ„๋“ค์„ ์ค€๋น„ํ•˜๊ณ  ๊ฑฐ๊ธฐ์„œ๋ถ€ํ„ฐ ์„ ํƒ๊ณผ ์กฐํ•ฉ, ์ƒˆ๋กœ์›€์„ ๊ฐ€๋ฏธํ•˜์—ฌ ์ƒ์œ„ ํ—ค๋ฒจ์˜ ๊ทธ๋ฆผ์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณผ์ •์€ โ€˜์•„๋ž˜์—์„œ-์œ„๋กœโ€™ ๋ฐฉ์‹.
      • ์ผ์ƒ์—์„œ ์ ‘ํ•˜๋Š” ์ถ”์ƒ์€ ์ด ๋‘ ๋ฐฉ์‹์ด ํ˜ผ์žฌํ•จ.

2๏ธโƒฃ ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž„: ADT

  • ์ž๋ฐ”์˜ 8๊ฐ€์ง€ ๊ธฐ์ดˆ ๋ฐ์ดํ„ฐ ํƒ€์ž…
    • byte
      • ์ •์ˆ˜ ํƒ€์ž…(1๋ฐ”์ดํŠธ)
    • short
      • ์ •์ˆ˜ ํƒ€์ž…(2๋ฐ”์ดํŠธ)
    • int
      • ์ •์ˆ˜ ํƒ€์ž…(4๋ฐ”์ดํŠธ)
    • long
      • ์ •์ˆ˜ ํƒ€์ž…(8๋ฐ”์ดํŠธ)
    • float
      • ์‹ค์ˆ˜ ํƒ€์ž…(4๋ฐ”์ดํŠธ)
    • double
      • ์‹ค์ˆ˜ ํƒ€์ž…(8๋ฐ”์ดํŠธ)
    • boolean
      • true
      • false
      • ๋…ผ๋ฆฌํƒ€์ž…(1๋น„ํŠธ true or false)
    • char
      • ๋ฌธ์ž ํƒ€์ž…(2๋ฐ”์ดํŠธ)
  • ๊ธฐ์ดˆ ๋ฐ์ดํ„ฐ์ž…์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์—๋Š” ๋Œ€๋ถ€๋ถ„ ์ถ”์ƒ์  ์„ฑ๊ฒฉ์ด ์žˆ๋‹ค.
    • ์–ด๋–ค ์„ฑ์งˆ์„ ๊ณต์œ ํ•˜๋Š” ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ์€ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ด๋ฃจ๊ธฐ ์ข‹์€ ํ›„๋ณด๋‹ค.
  • ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…(ADT, Abstract Data Type)
    • ์„ธ๋ถ€ ์‚ฌํ•ญ์—์„œ ๋ฒ—์–ด๋‚˜ ์ถ”์ƒ์ ์œผ๋กœ ์ •์˜ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž….
      • ์ฆ‰, ์–ด๋–ค ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์–ด๋–ค ์ž‘์—…์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”์ง€๋งŒ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค.
        • ์˜ˆ๋ฅผ ๋“ค์–ด ์›์†Œ๊ฐ€ ์ˆœ์„œ๋ฅผ ๊ฐ–๊ณ  ์ €์žฅ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ธ ๋ฆฌ์ŠคํŠธ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ์˜ (a)์™€ ๊ฐ™์ด ํ‘œํ˜„ ๊ฐ€๋Šฅ.
        • ๋˜๋Š” ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ง€์›ํ•˜๋Š” ์ž‘์—…์„(b)์™€ ๊ฐ™์ด ์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ๋‚˜์—ดํ•ด ํ‘œํ˜„ ๊ฐ€๋Šฅ.
  • โ€œ์ถ”์ƒ์ ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹คโ€
    • ์ž๋ฃŒ๊ตฌ์กฐ์—์„œ๋Š” ์ด๋Ÿฐ ์‹์œผ๋กœ ์–ด๋–ค ๋Œ€์ƒ์ด ์ง€์›ํ•˜๋Š” โ€˜์ž‘์—…์„ ๋‚˜์—ดํ•ด ํ‘œํ˜„โ€™ํ•˜๋Š” ๊ฒƒ์„ โ€œ์ถ”์ƒ์ ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹คโ€๋ผ๊ณ  ํ•œ๋‹ค.
      • ๋Œ€์ƒ์„ ๊ทธ๋ ‡๊ฒŒ ํ‘œํ˜„ํ•œ ๊ฒƒ์„ ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋ผ ํ•œ๋‹ค.
        • ์ด๋•Œ ๋Œ€์ƒ์ด ํฌํ•จํ•˜๋Š” ๋ฐ์ดํ„ฐ ์†์„ฑ์— ์ œํ•œ์ด ์žˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ์˜ ์†์„ฑ์„ ๊ฐ™์ด ์„œ์ˆ ํ•ด๋„ ์ข‹๋‹ค.
  • ์œ„ ๊ทธ๋ฆผ์˜ (a)์—์„œ 3๊ฐœ์˜ ์ž‘์—…์„ ์ง€์›ํ•˜๋Š” ์ž„์˜์˜ ๊ฐ์ฒด๋Š” ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…(ADT) โ€˜๋ฆฌ์ŠคํŠธโ€™์— ์†ํ•œ๋‹ค.
    • ๋‹ฌ๋ฆฌ ํ‘œํ˜„ํ•˜๋ฉด, ADT ๋ฆฌ์ŠคํŠธ๋ผ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ์†ํ•˜๋Š” ๊ฐ์ฒด๋Š” ์ด 3๊ฐœ์˜ ์ž‘์—…์„ ์ง€์›ํ•œ๋‹ค.
  • ์ž๋ฐ”์—์„œ 8๊ฐ€์ง€ ๊ธฐ์ดˆ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€๋Š” ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‹ค.
    • ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๋Œ€๋žต ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์— ๋Œ€์‘๋œ๋‹ค.
      • ํด๋ž˜์Šค๋Š” ์ž์‹ ์˜ ๊ทœ์น™์„ ๋”ฐ๋ฅด๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ‹€์ด๋‹ค.
        • ํด๋ž˜์Šค๋Š” (์•”๋ฌต์ ์œผ๋กœ) ๊ทธ๋Ÿฐ ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ์„ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•ด์„œ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋ผ ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.
  • ํ•˜๋‚˜์˜ ADT ์•„๋ž˜์— ์—ฌ๋Ÿฌ ADT๊ฐ€ ํฌํ•จ๋  ์ˆ˜๋„ ์žˆ๋‹ค.
    • ์ž๋ฐ”์—์„œ ํด๋ž˜์Šค์˜ ์ƒ์œ„ ๊ฐœ๋…์ธ ์ธํ„ฐํŽ˜์ด์Šค(Interface) ๊ธฐ๋Šฅ์ด ADT์— ๊ฐ€์žฅ ์ž˜ ๋Œ€์‘๋˜๋Š” ๊ฐœ๋…์ด๋‹ค.
  • ADT๋Š” ์–ด๋–ค ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์–ด๋–ค ์ž‘์—…์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”์ง€๋ฅผ ์„ธ๋ถ€ ์‚ฌํ•ญ ์—†์ด ํ‘œํ˜„ํ•œ๋‹ค.
    • ์ด๋•Œ ์•„๋ž˜ ๊ทธ๋ฆผ์˜ (a)์ฒ˜๋Ÿผ ํ•ต์‹ฌ ์ž‘์—…๋งŒ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜๋„ ์žˆ๊ณ , (b)์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ์ž‘์—…์„ ๋”ํ•ด ํ‘œํ˜„ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
  • (a)์ฒ˜๋Ÿผ ์ตœ์†Œํ•œ์œผ๋กœ ํ‘œํ˜„ํ•ด๋†“์œผ๋ฉด ๋Œ€๊ฐœ ๊ตฌํ˜„ํ•  ๋•Œ ํ•„์š”ํ•œ ์ž‘์—…์„ ๋” ํ•œ๋‹ค.
    • ADT ๋ฆฌ์ŠคํŠธ๋Š” โ€˜์ ์–ด๋„ ์ด ์ž‘์—…๋“ค์€ ํฌํ•จํ•ด์•ผ ํ•œ๋‹คโ€™๋Š” ๋œป์ด๋‹ค.
  • ์ƒˆ ์›์†Œ๋ฅผ ๋ฆฌ์ŠคํŠธ์˜ ์ฒซ์ž๋ฆฌ์— ๋„ฃ๊ฑฐ๋‚˜ ๋์— ๋ถ™์ด๋Š” ๊ฒƒ์€ โ€œi๋ฒˆ์งธ ์ž๋ฆฌ์— ์ƒˆ ์›์†Œ ๋„ฃ๊ธฐโ€๋กœ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ทธ๋ž˜๋„ ์ฒซ์ž๋ฆฌ๋‚˜ ๋์ž๋ฆฌ์— ์ƒˆ ์›์†Œ๋ฅผ ๋„ฃ๋Š” ์ž‘์—…์ด ์•„์ฃผ ํ”ํ•˜๋ฉด ๋”ฐ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
      • ์ด์ฒ˜๋Ÿผ ํŠน์ • ๋Œ€์ƒ์— ๋Œ€ํ•œ ADT๋Š” ์œ ๋™์ ์ด๋‹ค.
        • ์ด๋Ÿฐ ๋ฉด์—์„œ ADT๋Š” ์ œ๊ณตํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ฃผ๊ด€์  ๊ด€์ ์ด ๋ฐ˜์˜๋œ๋‹ค.
  • ADT๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์—…์„ ํšจ์œจ์ ์ด๊ณ  ๊ณ ๊ธ‰์Šค๋Ÿฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค.
    • ADT๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์žฅ์• ๊ฐ€ ๋˜์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.
    • ADT๋กœ ์‹œ์ž‘ํ•จ์œผ๋กœ์จ ์ž๋ฃŒ๊ตฌ์กฐ ๋‚ด๋ถ€์˜ ์„ธ์„ธํ•œ ์‚ฌํ•ญ์— ์‹ ๊ฒฝ์„ ์“ฐ์ง€ ์•Š๊ณ  ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
      • ์ฆ‰, ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์ ‘์ ์„ ์ด๋ฃจ๋Š” ํ•จ์ˆ˜๋“ค์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์— ์ง‘์ฐฉํ•˜์ง€ ์•Š๊ณ  ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ํ•˜๋Š” ์ผ๋งŒ ์ƒ๊ฐํ•˜๋ฉฐ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋‹ค.
        • ์ด๋กœ ์ธํ•ด ํ˜‘์—…๋„ ์›ํ™œํ•ด์ง„๋‹ค.
  • ์–ด๋–ค ํด๋ž˜์Šค ๋˜๋Š” ํด๋ž˜์Šค์˜ ์ง‘๋‹จ์ด ADT๋‚˜ ADT์— ์ค€ํ•  ๋งŒํผ ์ž˜ ํ‘œํ˜„๋˜์–ด ์žˆ์œผ๋ฉด, ์‚ฌ์šฉ์ž๋Š” ๊ทธ ๋‚ด๋ถ€์˜ ์„ธ๋ถ€ ๊ตฌํ˜„์€ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๊ณ  โ€˜์ด์šฉโ€™ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ฆ‰, ADT๋Š” ๋‚ด๋ถ€์—์„œ ์ž‘์—…์„ โ€˜์–ด๋–ป๊ฒŒโ€™ํ•˜๋Š”์ง€ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๊ฒŒ ํ•˜๋ฉฐ โ€˜๋ฌด์—‡์„โ€™ ํ•˜๋Š”์ง€๋งŒ ์‹ ๊ฒฝ ์“ฐ๊ฒŒ ํ•ด์ค€๋‹ค.
      • ํŠนํžˆ ์—ฌ๋ ค ๋ช…์ด ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ์ด ๊ฐ™์€ ๊ฐœ๋…์˜ ์ถ”์ƒํ™”๋ฅผ ํ†ตํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค.

3๏ธโƒฃ ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ์ž๋ฐ” ์ธํ„ฐํŽ˜์ด์Šค.

  • ์ธํ„ฐํŽ˜์ด์Šค(Interface)
    • ์ž๋ฐ”์—์„œ ADT์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ธฐ๋Šฅ
      • ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜ ๊ทธ๋ฆผ์˜ (a)์™€ ๊ฐ™์€ ADT โ€˜๋ฆฌ์ŠคํŠธโ€™๋ฅผ (b)์™€ ๊ฐ™์ด ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
        • ๊ทธ๋Ÿฌ๋ฉด ListInterface๋ž€ ์ด๋ฆ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ชจ๋“  ํด๋ž˜์Šค๋Š” ์—ฌ๊ธฐ ๋‚˜์—ด๋œ 3๊ฐœ์˜ ์ž‘์—…์„ ์ œ๊ณตํ•˜๊ณ , ๊ฐ ์ž‘์—…์˜ ๋ฆฌํ„ด ํƒ€์ž…๊ณผ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆ˜์™€ ํƒ€์ž…๋„ ์ด ์ •์˜๋ฅผ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค.
          • ๋”ฐ๋ผ์„œ (c)์™€ ๊ฐ™์ด implements๋ฅผ ์‚ฌ์šฉํ•ด ์ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋”ฐ๋ฅด๋Š” ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋ฉด ํด๋ž˜์Šค LinkedList๋Š” ListInterface ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋”ฐ๋ผ ์œ„ 3๊ฐœ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์›ํ•˜๊ณ , ๋ฆฌํ„ด ํƒ€์ž…๊ณผ ๊ฐ ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์™€ ํƒ€์ž…๋„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค.
            • ๊ทธ๋Ÿฌ๋ฉด (d)์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์ด ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ๋ณด๊ณ  1.LinkedList ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜ ํ• ๋‹น๋ฐ›์€ ๋‹ค์Œ 2.ListInterface์—์„œ ๋ช…์‹œ๋œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์™€ ํƒ€์ž…์— ๋งž๊ฒŒ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
              • ๊ทธ๋Ÿฌ๋ฉด ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ ์ž…์žฅ์—์„œ๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๋‚ด๋ถ€๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ ํ•„์š” ์—†์ด โ€œ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ์— ์›์†Œ x๋ฅผ ์‚ฝ์ž…ํ•˜๋ผโ€, โ€œ3๋ฒˆ์งธ ์›์†Œ๋ฅผ ์‚ญ์ œํ•˜๋ผโ€์™€ ๊ฐ™์€ ์ถ”์ƒ์  ์ˆ˜์ค€์—์„œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ทจ๊ธ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
                • ๊ฒฐ๊ตญ ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ํ•ด๋‹น ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ โ€˜์ถ”์ƒ์ ์ธ ์ˆ˜์ค€์—์„œโ€™ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

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