ํด๋์ค ์ธ์คํด์ค ๊ฐ์ฒด
oop๋ฅผ ์ ๋ฆฌํ๊ธฐ์ ์์ ์ฉ์ด๋ค์ ์ ๋ฆฌ๊ฐ ํ์คํ๊ฒ ์ด๋ฃจ์ด์ง์ง์๋๊ฑฐ๊ฐ์ class, instance, object๋ค์ ๋ํ ๊ฐ๋ ์ ๋ฆฌ๋ฅผ ์งํํ์๋ค.
ํด๋์ค (class)
๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ํ ํ ํ๋ฆฟ ๋๋ ์ฒญ์ฌ์ง
๋ฌด์์ธ๊ฐ์ ๋ชจ์, ์งํฉ์ฒด
๊ฐ์ฒด๋ฅผ ์์ ํ๋ ๋ฌธ๋ฒ
// cpp
class Color {
...
}
// ์์ ์ฝ๋์ ๊ฐ์ด object or instance๋ฅผ ์์ฑํ๊ธฐ์ํ ํ์ ๊ฐ๋
์ class๋ผ๊ณ ์ด์ผ๊ธฐํ๋ค.
์ธ์คํด์ค (instance)
ํด๋์ค๋ก ๋ถํฐ ์์ฑ๋ ๊ตฌ์ฒด์ ์ธ ๊ฐ์ฒด
class Color {
...
}
Color Blue;
Color Grean;
// ์ฆ Blue, Grean ๊ฐ์ ๊ฒ๋ค์ ๊ฐ์ฒด(object)๋ผ๊ณ ์ด์ผ๊ธฐํ๋ค.
๊ฐ์ฒด (object)
ํฌ๊ด์ ์ธ ์ผ๋ฐ ๋ช ์ฌ
๊ตฌ์ฒด์ ์ธ ์ฌ๋ฌผ์ด๋ ์ถ์์ ์ธ ๊ฐ๋
๋ ๋ฆฝ์ , ์์์ ์ผ๋ก ์กด์ฌํ๋ ๋ฌด์ธ๊ฐ๋ฅผ ์ง์นญํ๋, ํฌ๊ด์ ์ธ ์ผ๋ฐ ๋ช ์ฌ
class๋ ๊ฐ์ฒด์ธ๊ฐ?
๊ทธ๋ ๋ค๊ณ ๋ณผ ์ ์๋ค. meta object ๊ฐ๋ ์ ํด๋นํ๋ค.
instance๋ ๊ฐ์ฒด์ธ๊ฐ?
์ธ์คํด์ค๋ class์ ์ ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๋ง๋ค์ด์ง ์ค์ฒด์ด๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ์ฐ๋ฆฌ๊ฐ “๊ฐ์ฒด”๋ผ๊ณ ๋ถ๋ฅผ ๋ ๋ฐ๋ก ์ด ์ธ์คํด์ค๋ฅผ ์ง์นญํฉ๋๋ค.
์ฆ ๊ฐ์ฒด๋ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ชจ๋ ํฌํจํ๋ ๋ ๋์ ๊ฐ๋ ์ผ๋ก ์ดํดํ ์ ์์ต๋๋ค.
๋น์
• Class: ์ฟ ํค ํ
• Instance: ์ฟ ํค ํ๋ก ๋ง๋ ์ฟ ํค
• Object: ๋ชจ๋ ์ฟ ํค์ ์ฟ ํค ํ์ ํฌํจํ ํฌ๊ด์ ๊ฐ๋