๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ•œ์ •๋œ ์ž์›์„ ์ตœ๋Œ€ํ•œ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  portability๋„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์ดํ•ด๋Š” ํ•„์ˆ˜์ด๋‹ค

์ž…์‚ฌ ์‹œ ํ•„์ˆ˜์ธ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์–ผ๋งˆ๋‚˜ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์ฝ”๋“œ๋กœ ํ’€์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•œ๋‹ค

 

๊ทธ๋Ÿฌ๋‚˜ ์˜์™ธ๋กœ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ณต๋ถ€ ๋‹จ๊ณ„์—์„œ ์•„์ฃผ ๊ธฐ๋ณธ์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋ฐ”๋กœ ์ฝ”๋”ฉ์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค

์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ๊ธฐ๋ณธ์ด๋ž€ '์ถ”์ƒ์  ์ž๋ฃŒํ˜•', '์ž๋ฃŒ๊ตฌ์กฐ', '์•Œ๊ณ ๋ฆฌ์ฆ˜'์— ๋Œ€ํ•œ ์ •์˜์™€ ๊ตฌ๋ถ„์„ ๋งํ•œ๋‹ค

์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ ์ถ”์ƒ์  ์ž๋ฃŒํ˜•์ด ๊ฐ€์žฅ high level์˜ ๊ฐœ๋…์ด๊ณ  ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ•๋ก ์ด ๋œ๋‹ค

 

 


์ถ”์ƒ์  ์ž๋ฃŒํ˜•

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ž๋ฃŒ์˜ ํ˜•ํƒœ ๋ฐ ์—ฐ์‚ฐ์„ ์ˆ˜ํ•™์ ์œผ๋กœ ์ •์˜ํ•œ ๋ชจ๋ธ


 

Abstact Data Type ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์ถ”์ƒ์ ์ธ ๊ฐœ๋…์ผ ๋ฟ, ๊ตฌ์ฒด์ ์ธ ๋ฃฐ์ด ์—†๋Š” ์ƒํƒœ๋‹ค

์ง‘ํ•ฉ, ๋ฆฌ์ŠคํŠธ, ์Šคํƒ, ํ, ํŠธ๋ฆฌ ๋“ฑ์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•œ๋‹ค

์ž๋ฃŒ๊ตฌ์กฐ ์‹œ๊ฐ„์— ๋ชฉ์ฐจ๋กœ ๋งŽ์ด ๋ดค์„ ๋ฒ•ํ•œ ๊ฒƒ๋“ค์ด์ง€๋งŒ ์—„๋ฐ€ํžˆ ๋”ฐ์ ธ ์•„์ง ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ์•„๋‹ˆ๋‹ค

์Šคํƒ์€ ์ˆ˜์ง์ ์œผ๋กœ ์Œ“์ด๋Š” ๊ฒƒ, ํ๋Š” ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ํ†ตํ–‰ํ•˜๋Š” ๊ฒƒ, ์ง‘ํ•ฉ์€ ํฌํ•จ ๊ด€๊ณ„๋ฅผ ์ด๋ฃจ๋Š” ๊ฒƒ ๋“ฑ๋“ฑ

concept์ด๋‚˜ idea๋ฅผ ๊ตฌ์ƒํ•˜๊ณ  ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด ์šฐ์„ ์ด๋ฉฐ ์–ด๋–ป๊ฒŒ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์„์ง€ ๊ธฐํšํ•ด๋ณด๋Š” ๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค

 

 


์ž๋ฃŒ๊ตฌ์กฐ

์ถ”์ƒ์  ์ž๋ฃŒํ˜•์ด ์ •์˜ํ•œ ์—ฐ์‚ฐ๋“ค์„ ๊ตฌํ˜„ํ•œ ๊ตฌํ˜„์ฒด


์œ„์—์„œ ๋‹ค๋ฃฌ ADT๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค

๋ฆฌ์ŠคํŠธ๋ผ๋Š” ๊ฐœ๋… ์ž์ฒด๋Š” ๊ฐ€์‹œ์ ์ธ ์‚ฐ์ถœ๋ฌผ์ด ์—†์ง€๋งŒ, ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ์ฝ”๋“œ๋กœ์จ ๋ถ„๋ช…ํžˆ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค

ํ”ํžˆ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ '์ฑ…์žฅ ์† ์ฑ…์„ ๋ฐฐ์—ดํ•˜๋Š” ๋ฐฉ๋ฒ•'์ด๋ผ๊ณ  ๋งŽ์ด๋“ค ๋ฌ˜์‚ฌํ•œ๋‹ค

๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ค ์‹์œผ๋กœ ๊ตฌ์กฐํ™”ํ• ์ง€ ์ •ํ•˜๊ณ  ํ•„์—ฐ์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ทœ์น™๋“ค์„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋งˆ๋‹ค ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„์ง€, ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์žˆ๋Š”์ง€,

๊ฐ™์€ ์ž๋ฃŒ๊ตฌ์กฐ๋ผ๋„ ์–ด๋–ค ์ž๋ฃŒํ˜•์„ ์ผ์„ ๋•Œ ๋” ํšจ์œจ์ ์ธ์ง€ ๋“ฑ์„ ์ •๋ฆฌํ•ด๋ณด๋ฉด ์ข‹๋‹ค

 

 


์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ์ง„ํ–‰ ์ ˆ์ฐจ๋‚˜ ๋ฐฉ๋ฒ•


์œ„์—์„œ ๊ตฌํ˜„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ณธ๊ฒฉ์ ์œผ๋กœ action์„ ์‹คํ–‰ํ•˜๊ณ ์ž ํ• ๋•Œ 

์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ action์„ ์ˆ˜ํ–‰ํ• ์ง€์— ๋Œ€ํ•œ ์ •๋ฆฌ์ด๋ฉฐ ๋ฐ˜๋ณต๋˜๋Š” ํŒจํ„ด์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค

'์ฑ…์žฅ์—์„œ ์ฑ…์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•'์ด๋ผ๊ณ  ๋ฌ˜์‚ฌ๋˜๋Š” ์ด์œ ์ด๋‹ค

์ด๋ฏธ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋“ค์„ ์–ด๋–ป๊ฒŒ ์ •๋ ฌํ• ์ง€, ๊ทธ ์†์—์„œ ์–ด๋–ป๊ฒŒ ์›ํ•˜๋Š” ๊ฒƒ์„ ํƒ์ƒ‰ํ•ด๋‚ผ์ง€ ๋“ฑ์— ๋Œ€ํ•œ

๊ตฌ์ฒด์ ์œผ๋กœ ์ •ํ˜•ํ™”๋œ ๋ฐฉ๋ฒ•๋ก ์ด๋‹ค

 

 

์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŽ์ด ์ ‘ํ•˜๊ณ  ๋ถ„์„ํ•˜๋‹ค๋ณด๋ฉด ADT๋‚˜ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ดํ•ด๋„ ๋ฉ๋‹ฌ์•„ ๋”ฐ๋ผ์˜จ๋‹ค

๋ฌผ๋ก  ์–‘์œผ๋กœ ์Šน๋ถ€ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๊ฒ ์œผ๋‚˜ ๋ฒ ์ด์Šค๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ํ›‘๊ณ  ์˜ค๋Š” ๊ฒŒ ๊ฐœ๋… ์ •๋ฆฝ์— ๋” ๋„์›€์ด ๋˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค

 

 

Summary