Clss๋ c++์์ ํด๋์ค๋ ๊ตฌ์กฐ์ฒด์ ์์ ํธํ์ผ๋ก ์ดํดํ ์ ์๋ค. C++์ ๊ตฌ์กฐ์ฒด๋ ๋ฉค๋ฒ๋ก ํจ์๋ฅผ ํฌํจํ ์ ์์ด, C์ธ์ด๋ณด๋ค ํ์ฅ๋ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค. ํด๋์ค์ ๊ตฌ์กฐ์ฒด๋ ๋ ๋ค ๊ฐ์ฒด๋ฅผ ๋ฌถ๋ ๋ฌธ๋ฒ์ ์ธ ์ญํ ์ ํ๋ฉฐ, ๋ค๋ฅธ ์ ์ ์ ๊ทผ ์ ์ด ์ง์์์์ ์ฐจ์ด๊ฐ ๋๋ค. (๋ค
ํด๋์ค๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด, ํด๋น ๊ฐ์ฒด๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฆ์ ์์ฑ๋๋ค. ์ด ๊ฐ์ฒด๋ ๋ชจ๋ ๋ฉค๋ฒ ๋ณ์๋ฅผ ์ด๊ธฐํํ๊ธฐ ์ ์๋ ์ฌ์ฉํ ์ ์๋ค.๊ฐ์ฒด์ ๋ฉค๋ฒ ์ค์๋ ์ง์ ์ ๊ทผํ ์ ์๋ private ๋ฉค๋ฒ ๋ณ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ธ ์ด๊ธฐํ ๋ฐฉ์์ผ๋ก ์ด๊ธฐํ ํ ์ ์๋ค. ๋ฐ๋ผ์
C++์ ํน์ง ์ค ํ๋๋ ์ผ๋ฐํ ํ๋ก๊ทธ๋๋ฐ(generic programming)์ด๋ค.์ผ๋ฐํ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ค์ํ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ๋ ๋ฌ๋ฆฌ ํ๋ก๊ทธ๋จ์ ์๊ณ ๋ฆฌ์ฆ์ ์ค์ ์ ๋๋ค. ์ด๋ฌํ ์ผ๋ฐํ ํ๋ก๊ทธ๋๋ฐ์ ์ง์ํ๋ C++์ ๋ํ์ ์ธ ๊ธฐ๋ฅ ์ค ํ๋๊ฐ ๋ฐ๋ก ํ ํ๋ฆฟ
STL์ C++ ํ์ค ํ ํ๋ฆฟ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฉฐ, ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ฐํํ ํํ์ ์ ๊ณตํ์ฌ ๋ฐ์ดํฐ์ ์ถ์ํ์ ์ฝ๋๋ฅผ ์ฌํ์ฉํ ์ ์๊ฒ ํ๋ค.๋ฐ๋ณต์์ปจํ ์ด๋์๊ณ ๋ฆฌ์ฆ๋ฐ๋ณต์(iterator)๋ STL ์ปจํ ์ด๋์ ์ ์ฅ๋ ์์๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ํํ์ฌ, ๊ฐ๊ฐ์ ์์์ ๋ํ ์ ๊ทผ์ ์ ๊ณตํ๋ ๊ฐ์ฒด