Introduce
๊ฐ์ฒด์งํฅ ๋ชฉํ๋ ์ค์ธ๊ณ๋ฅผ ๋ชจ๋ฐฉํ๋ ๊ฒ์ด ์๋ ์๋ก์ด ์ธ๊ณ๋ฅผ ์ฐฝ์กฐํ๋ ๊ฒ์ด๋ฉฐ, ํ์ค ์ธ๊ณ๋ฅผ ์์ ํ์ฌ ํํํ๋ ๊ฒ์ ๊ฐ์ฒด์งํฅ์ ๋ค์ํ ์ธก๋ฉด์ ์ดํดํ๊ณ ํ์ตํ๋ ๋ฐ ํจ๊ณผ์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๊ฐ์ฒด์งํฅ์ ๋ณธ์ง
๊ฐ์ฒด์งํฅ์ด๋ ์์คํ ์ ์ํธ์์ฉํ๋
์์จ์ ์ธ ๊ฐ์ฒด๋ค์ ๊ณต๋์ฒด
๋ก ๋ฐ๋ผ๋ณด๊ณ ๊ฐ์ฒด๋ฅผ ์ด์ฉํด ์์คํ ์ ๋ถํ ํ๋ ๋ฐฉ๋ฒ์์จ์ ์ธ ๊ฐ์ฒด๋
์ํ
์ํ์
๋ฅผ ํจ๊ป ์ง๋๋ฉฐ ์ค์ค๋ก ์๊ธฐ ์์ ์ ์ฑ ์์ง๋ ๊ฐ์ฒด๋ฅผ ์๋ฏธ๊ฐ์ฒด๋ ์์คํ ์ ํ์๋ฅผ ๊ตฌํํ๊ธฐ ์ํด
๋ค๋ฅธ ๊ฐ์ฒด์ ํ๋ ฅ
ํ๋ฉฐ, ๊ฐ ๊ฐ์ฒด๋ ํ๋ ฅ ๋ด์์์ ํด์ง ์ญํ
์ ์ํ๊ฐ์ฒด๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ํ๋ ฅํ๊ธฐ ์ํด
๋ฉ์์ง
๋ฅผ ์ ์กํ๊ณ , ์์ ํ ๊ฐ์ฒด๋์ ํฉํ ๋ฉ์๋๋ฅผ ์ฌ์ฉ
ํด ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌ
ํด๋์ค์งํฅ X / ๊ฐ์ฒด์งํฅ O
ํด๋์ค๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ด์ ์์๋ ๋งค์ฐ ์ค์ํ ๊ตฌ์ฑ์์์ง๋ง ํต์ฌ์ ์ด๋ฃจ๋ ์ค์ฌ ๊ฐ๋ ์ ์๋๋ค.
์ง๋์น๊ฒ ํด๋์ค๋ฅผ ๊ฐ์กฐํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ด์ ์ ๊ฐ์ฒด์ ์บก์ํ๋ฅผ ์ ํดํ๊ณ ํด๋์ค์ ์ํธ ์์กด์ฑ์ด ๋์์ง๊ฒ ๋๋ค.
๋๋ฌธ์ ๊ฐ์ฒด์งํฅ ์ค๊ณ๋ฅผ ํ๊ธฐ ์ํด์ ์ฝ๋๋ฅผ ๋ด๋ ํด๋์ค์ ๊ด์ ์ด ์๋ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฐ์ฒด์ ๊ด์ ์ฌ๊ณ ๊ฐ ํ์ํ๋ค.
ํด๋์ค๋ ๊ฐ์ฒด๋ค์ ํ๋ ฅ ๊ด๊ณ๋ฅผ ์ฝ๋๋ก ์ฎ๊ธฐ๋ ๋๊ตฌ์ผ ๋ฟ์ด๋ค.(ํ์ง๋ง ํด๋์ค๊ฐ ์ค์ํ์ง ์๋ค๋ ๊ฒ์ ์๋)
๊ฐ์ฒด๋ค์ด ์๋ก ์ด๋ค ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์์ง๋ฅผ ๋จผ์ ๊ฒฐ์ ํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๊ฐ์ฒด์งํฅ
ํด๋์ค์งํฅ
์ ์ ํ ์ฑ ์์ ์ํํ๋ ์ญํ ๊ฐ์ ์ ํํ๊ณ ๊ฒฌ๊ณ ํ ํ๋ ฅ ๊ด๊ณ ๊ตฌ์ถ
class
๊ฐ์ฒด์งํฅ์ ํต์ฌ
ํ๋ ฅ์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๋ฐ ํ์ํ ๊ตฌํ ๋งค์ปค๋์ฆ ์ค ํ๋
ํด๋์ค์ ๊ตฌ์กฐ์ ๋ฉ์๋๊ฐ ์๋๋ผ ๊ฐ์ฒด์ ์ญํ /์ฑ ์/ํ๋ ฅ์ ์ง์คํ๋ ๊ฒ์ด ์ค์ํ๋ฉฐ, ํด๋์ค์ ์ฝ๋งค์ด์ง ๋ง๊ณ ๊ฐ์ฒด๋ฅผ ์งํฅํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๊ฐ์ฒด
๊ฐ์ฒด๋ ์๋ณ ๊ฐ๋ฅํ ๊ฐ์ฒด ๋๋ ์ฌ๋ฌผ์ด๋ค. ๊ฐ์ฒด๋ ์๋์ฐจ์ฒ๋ผ ๋ง์ง ์ ์๋ ๊ตฌ์ฒด์ ์ธ ์ฌ๋ฌผ์ผ ์๋ ์๊ณ , ์๊ฐ์ฒ๋ผ ์ถ์์ ์ธ ๊ฐ๋
์ผ ์๋ ์๋ค.
๊ฐ์ฒด๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ์ํ(state)
, ํน์ง์ ์ธ ํ๋(behavior)
, ๊ตฌ๋ณ ๊ฐ๋ฅํ ์๋ณ์(identity)
๋ฅผ ๊ฐ์ง๋ค.
์ํ
์ํ๋ฅผ ์ด์ฉํ๋ฉด ๊ณผ๊ฑฐ์ ์ด๋ฒคํธ ๋ด์ญ์ ์์ง ์์๋ ํ์ฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ฒด์ ํ๋ ๋ฐฉ์์ ์ดํดํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ฝ๊ฒ ์์ธกํ ์ ์๊ฒ ๋๋ค.
์ํ์ ํ๋กํผํฐ
์ํ๋ ํน์ ์์ ์ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ์ ๋ณด์ ์งํฉ์ผ๋ก ๊ฐ์ฒด์ ๊ตฌ์กฐ์ ํน์ง์ ํํํ๋ฉฐ ์๋์ ๊ฐ์ด ๊ตฌ๋ถํ ์ ์๋ค.
๊ฐ์ฒด์ ์ํ
ํ๋กํผํฐ(property): ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ๋ชจ๋ ํน์ง, ๋ณ๊ฒฝ๋์ง ์๊ณ ๊ณ ์ ๋๊ธฐ ๋๋ฌธ์ ์ ์ ์ด๋ฉฐ ์๋ ๋ ๊ฐ์ง ์ข ๋ฅ์ ์กฐํฉ์ผ๋ก ํํ
๋งํฌ(link): ๊ฐ์ฒด์ ๊ฐ์ฒด ์ฌ์ด์ ์ฐ๊ฒฐ, ๋งํฌ๋ก ์ฐ๊ฒฐ๋์ ๋ ์์ฒญ์ ์ฃผ๊ณ ๋ฐ์ ์ ์์
์์ฑ(attribute): ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ๋จ์ํ ๊ฐ
ํ๋กํผํฐ ๊ฐ(property value): ์๊ฐ์ด ํ๋ฆ์ ๋ฐ๋ผ ์ด๋ฒคํธ์ ์ํด ๋ณ๊ฒฝ๋๊ธฐ ๋๋ฌธ์ ๋์ ์ธ ํน์ง์ ๊ฐ์ง
ํ๋
๊ฐ์ฒด์งํฅ ์ธ๊ณ์์ ๊ฐ์ฒด๋ ์์จ์ ์ด๋ฉฐ ๋ค๋ฅธ ๊ฐ์ฒด์ ์ํ์ ์ง์ ์ ์ผ๋ก ์ ๊ทผํ ์๋ ์ํ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ด์ผ ํ๋ค. ๊ฐ์ฒด์ ํ๋์ ์๋ ๋ ๊ฐ์ง๋ก ๊ตฌ๋ถํ ์ ์๋ค.
๊ฐ์ฒด ์์ ์ ์ํ ๋ณ๊ฒฝ
๊ฐ์ฒด์ ํ๋์ ์ํ์ ์ํฅ์ ๋ฐ๋๋ค.
์ํ๋ ๊ฐ์ฒด์ ํ๋์ ์ํด ๋ณ๊ฒฝ๋๋ค.
ํ๋ ๋ด์์ ํ๋ ฅํ๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ๋ํ ๋ฉ์์ง ์ ์ก
๋ค๋ฅธ ๊ฐ์ฒด์ ํ๋ ฅํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ด๋ค.
์์ ํ ๊ฐ์ฒด๋ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ํ๋ํ๋ค.
๊ฐ์ฒด๋ ํ๋์ ํตํด ๋ค๋ฅธ ๊ฐ์ฒด์์ ํ๋ ฅ์ ์ฐธ์ฌํ๋ฏ๋ก ํ๋์ ์ธ๋ถ์ ๊ฐ์์ ์ด์ด์ผ ํ๋ค.
์๋ณ์
์๋ณ์๋ ๊ฐ์ฒด๋ฅผ ์๋ณํ๋ ๊ฒ์ ๊ฐ์ฒด๋ฅผ ์๋ก ๊ตฌ๋ณํ ์ ์๋ ํน์ ํ ํ๋กํผํฐ๋ฅผ ์๋ฏธํ๋ฉฐ, ๋ชจ๋ ๊ฐ์ฒด๋ ์๋ณ์๋ฅผ ๊ฐ์ง๋ค. ๋จ์ํ ๊ฐ์ ๊ฒฝ์ฐ ๊ฐ์ ์ํ๊ฐ ๋ณํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ ์ธ์คํด์ค ์ํ๊ฐ ๊ฐ์ผ๋ฉด ๋ ๊ฐ์ ๊ฐ์ ๊ฒ์ผ๋ก ํ๋จํ๋ฉฐ(๋๋ฑ์ฑ), ๋ฐ๋๋ก ๊ฐ์ฒด๋ ๊ฐ๋ณ ์ํ๋ฅผ ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์ ์์ ์ํ๊ฐ ๋ชจ๋ ๋๊ฐ๋๋ผ๋ ๋ ๊ฐ์ฒด๋ ๋ณ๊ฐ์ ๊ฐ์ฒด๋ก ์ธ์ํ๊ฒ ๋๋ค(๋์ผ์ฑ).
๋๋ฑ์ฑ(equality): ๋ ๊ฐ์ด ๊ฐ์์ง ํ๋จํ ์ ์๋ ์ฑ์ง
๋์ผ์ฑ(identical): ์ํ์ ๋ฌด๊ดํ๊ฒ ์๋ณ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ฒด๋ฅผ ๊ฐ์์ง๋ฅผ ํ๋จํ ์ ์๋ ์ฑ์ง
ํ๋์ด ์ํ๋ฅผ ๊ฒฐ์ ํ๋ค
๊ฐ์ฒด์งํฅ์ ์ ๋ฌธํ ๋ ์ฝ๊ฒ ๋น ์ง๋ ํจ์ ์ ์ํ๋ฅผ ์ค์ฌ์ผ๋ก ๊ฐ์ฒด๋ฅผ ๋ฐ๋ผ๋ณด๋ ๊ฒ์ธ๋ฐ, ํ์ํ ์ํ๋ฅผ ๋จผ์ ์ค๊ณํ๊ณ ๊ทธ ํ ํ๋์ ๊ณ ๋ คํ๋ค๋ฉด ์ค๊ณ์ ๋์ ์ํฅ์ ๋ผ์น๋ค.
์บก์ํ ์ ํด: ์ํ์ ์ด์ ์ ๋ง์ถ ๊ฒฝ์ฐ ์ํ๊ฐ ๊ฐ์ฒด ๋ด๋ถ๋ก ๊น๋ํ๊ฒ ์บก์ํ๋์ง ๋ชปํ๊ณ ๊ณต์ฉ ์ธํฐํ์ด์ค์ ๋ ธ์ถ ๋ ํ๋ฅ ์ด ๋์์ง๋ค.
๊ฐ์ฒด์ ๊ณ ๋ฆฝํ: ๊ฐ์ฒด๊ฐ ํ์ํ ์ด์ ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฌธ๋งฅ ๋ด์์ ๋ค๋ฅธ ๊ฐ์ฒด์ ํ๋ ฅํ๊ธฐ ์ํจ์ธ๋ฐ, ์ํ๋ฅผ ๋จผ์ ๊ณ ๋ คํ๋ฉด ํ๋ ฅ์ด๋ผ๋ ๋ฌธ๋งฅ์์ ๋ฒ์ด๋ ์ฑ ์ค๊ฒํ๊ฒ ๋์ด ํ๋ ฅ์ ์ ํฉ์น ์์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ฒ ๋๋ค.
๊ฐ์ฒด ์ฌ์ฌ์ฉ์ฑ ์ ํ: ๊ฐ์ฒด ์ฌ์ฌ์ฉ์ฑ์ ๋ค์ํ ํ๋ ฅ์ ์ฐธ์ฌํ ์ ์๋ ๋ฅ๋ ฅ์์ ๋์ค๋๋ฐ, ์ํ ์ด์ ์ธ ๊ฒฝ์ฐ ๋ค์ํ ํ๋ ฅ์ด ์ด๋ ต๋ค.
๊ฐ์ฒด๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ํ๋ ฅํ๊ธฐ ์ํด ์กด์ฌํ๋ฉฐ, ํ๋์ ํ๋ ฅํค ์ฐธ์ฌํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ด๋ฏ๋ก ์ ์ ํ๊ฒ ์ค๊ณํ๊ธฐ ์ํด์ ์ํ๋ณด๋จ ํ๋์ ๋จผ์ ๊ณ ๋ คํด์ผํ ํ ์ํ๋ฅผ ์ค๊ณํด์ผํ๋ค.
์ฐธ๊ณ ์๋ฃ
Last updated
Was this helpful?