์ถ์์ ์๋ฃํ, ์๋ฃ๊ตฌ์กฐ, ์๊ณ ๋ฆฌ์ฆ์ ์ฐจ์ด
ํ์ ๋ ์์์ ์ต๋ํ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ณ portability๋ ๋์ด๊ธฐ ์ํด์ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์ดํด๋ ํ์์ด๋ค ์
์ฌ ์ ํ์์ธ ์ฝ๋ฉ ํ
์คํธ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ง๋ ์ ์ดํดํ๊ณ ์ฝ๋๋ก ํ์ด๋ผ ์ ์๋์ง๋ฅผ ํ์ธํ๋ค ๊ทธ๋ฌ๋ ์์ธ๋ก ๋ง์ ์ฌ๋๋ค์ด ๊ณต๋ถ ๋จ๊ณ์์ ์์ฃผ ๊ธฐ๋ณธ์ ๊ฑด๋๋ฐ๊ณ ๋ฐ๋ก ์ฝ๋ฉ์ผ๋ก ๋์ด๊ฐ๋ค ์ฌ๊ธฐ์ ๋งํ๋ ๊ธฐ๋ณธ์ด๋ '์ถ์์ ์๋ฃํ', '์๋ฃ๊ตฌ์กฐ', '์๊ณ ๋ฆฌ์ฆ'์ ๋ํ ์ ์์ ๊ตฌ๋ถ์ ๋งํ๋ค ์ด๋ฆ์์ ์ ์ ์๋ฏ ์ถ์์ ์๋ฃํ์ด ๊ฐ์ฅ high level์ ๊ฐ๋
์ด๊ณ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ฐ์๋ก ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ๋ก ์ด ๋๋ค ์ถ์์ ์๋ฃํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ํ ์๋ฃ์ ํํ ๋ฐ ์ฐ์ฐ์ ์ํ์ ์ผ๋ก ์ ์ํ ๋ชจ๋ธ Abstact Data Type ์ด๋ฆ ๊ทธ๋๋ก ์ถ์์ ์ธ ๊ฐ๋
์ผ ๋ฟ, ๊ตฌ์ฒด์ ์ธ ๋ฃฐ์ด ์๋ ์ํ๋ค ์งํฉ, ๋ฆฌ์คํธ, ์คํ..