1. OOP์ ๊ธฐ์ด
- OOP๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object Oriented Programing)
- ๋ฐ์ดํฐ ์กฐ๊ฐ๋ค ๋ฐ ํด๋น ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ํ๋๋ค์ ๊ฐ์ฒด๋ผ๋ ํน์ํ ๋ฌถ์์ผ๋ก ๋ชจ์๋ค๋ ๊ฐ๋ ์ ๊ธฐ๋ฐํ ์ด๋ก ์ ์ธ ํ ๋๋ ์ฒด๊ณ
- ๊ฐ์ฒด๋ค์ ํด๋์ค๋ผ๊ณ ํ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ์ํ โ์ฒญ์ฌ์งโ๋ค์ ์งํฉ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
1.1 ๊ฐ์ฒด๋ค, ํด๋์ค๋ค
๊ณ ์์ด ์ข์ํ์๋์? ๋ค์ํ ๊ณ ์์ด ์์๋ฅผ ์ฌ์ฉํ์ฌ OOP๋ผ๋ ๊ฐ๋ ์ ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค

์ค์ค์นด๋ผ๋ ๊ณ ์์ด๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ด
์๋ค. ์ค์ค์นด๋ ๊ฐ์ฒด์ด๋ฉฐ, Cat (๊ณ ์์ด) ํด๋์ค์ ์ธ์คํด์ค์
๋๋ค.
๊ฐ ๊ณ ์์ด๋ ์ด๋ฆ, ์ฑ๋ณ, ๋์ด, ์ฒด์ค, ์๊น, ์ข์ํ๋ ์์ ๊ฐ์ ์ผ๋ฐ์ ์ธ ์์ฑ๋ค์ ๋ง์ด ๊ฐ๊ณ ์์ต๋๋ค.
์ด๋ฌํ ์์ฑ๋ค์ ํด๋์ค์ ํ๋๋ค์ด๋ผ๊ณ ํฉ๋๋ค
์ด ์ฑ ์์ ์ ๋ ํด๋์ค ์ด๋ฆ์ UML ๋ค์ด์ด๊ทธ๋จ์ด๋ ์ฝ๋์ ์ฐ์ธ ๊ฒ์ฒ๋ผ ์์ด๋ก ์ธ๊ธํ ๊ฒ๋๋ค. ํ์ง๋ง ๋๋ก๋ ๊ธ์ด ๋ํ์ฒ๋ผ ์ฝํ ์ ์๊ฒ ํด๋์ค ์ด๋ฆ์ ํ๊ตญ์ด๋ก ๋ฒ์ญํ์ฌ ์ธ๊ธํ ์๋ ์์ผ๋ ์ ๋ ํด ์ฃผ์ธ์.
๋ชจ๋ ๊ณ ์์ด๋ ๋น์ทํ๊ฒ ํ๋ํฉ๋๋ค. ์จ์ ์ฌ๊ณ , ๋จน๊ณ , ๋ฐ๊ณ , ์๊ณ , ์ผ์น ์๋ฆฌ๋ฅผ ๋ด๋ฉฐ ์๋๋ค.
์ด๊ฒ๋ค์ ํด๋์ค์ ๋ฉ์๋๋ค์
๋๋ค. ํ๋๋ค๊ณผ ๋ฉ์๋๋ค์ ํตํ์ด ํด๋น ํด๋์ค์ ๋ฉค๋ฒ๋ค์ด๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.
๊ฐ์ฒด์ ํ๋๋ค์ ๋ด๋ถ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ์ข ์ข ์ํ๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, ๊ฐ์ฒด์ ๋ชจ๋ ๋ฉ์๋๋ค์ ๊ฐ์ฒด์ ํ๋๋ค์ ์ ์ํฉ๋๋ค.
๋น์ ์ ์น๊ตฌ์ ๊ณ ์์ด์ธ ๋ฃจ๋ ์ญ์ Cat (๊ณ ์์ด) ํด๋์ค์ ์ธ์คํด์ค์ ๋๋ค. ๋ฃจ๋๋ ์ค์ค์นด์ ๊ฐ์ ์์ฑ์ ์งํฉ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด ๋์ ์ฐจ์ด์ ์ ๊ทธ๋ค์ด ๊ฐ์ง ์ด๋ฌํ ์์ฑ๋ค์ ๊ฐ์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฃจ๋์ ์ฑ๋ณ์ ์ฌ์ฑ์ด๊ณ ์๊น์ด ๋ค๋ฅด๋ฉฐ ์ค์ค์นด๋ณด๋ค ๋ชธ๋ฌด๊ฒ๊ฐ ์ ์ต๋๋ค.

๋ฐ๋ผ์ ํด๋์ค๋ ๊ฐ์ฒด๋ค์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ์ฒญ์ฌ์ง๊ณผ ๋น์ทํ๋ฉฐ, ๊ฐ์ฒด๋ค์ ์ด ํด๋์ค์ ๊ตฌ์ ์ธ์คํด์ค๋ค์ ๋๋ค
1.2 ํด๋์ค ๊ณ์ธต๊ตฌ์กฐ๋ค
ํ ํด๋์ค์ ๊ดํด ์ด์ผ๊ธฐํ ๋๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ๋จํ๊ณ ๋ช ํํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ถ๋ถ ์ค์ ํ๋ก๊ทธ๋จ์๋ ํ๋ ์ด์์ ํด๋์ค๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ํด๋์ค ์ค ์ผ๋ถ๋ ํด๋์ค ๊ณ์ธต๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋ ์ ์์ผ๋ฉฐ, ์ง๊ธ๋ถํฐ๋ ๊ทธ๊ฒ์ด ๋ฌด์์ ์๋ฏธํ๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ด์์ ์ด๋ฆ์ด โํ์ด๋โ์ธ ๊ฐ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ๊ฐ์ ๊ณ ์์ด๋ ๊ณตํต์ ์ด ๋ง์ต๋๋ค. ์ด๋ฆ, ์ฑ๋ณ, ๋์ด, ์๊น์ ๊ฐ์ ๊ณ ์์ด ๋ชจ๋์ ์์ฑ์ ๋๋ค. ๊ฐ๋ ๊ณ ์์ด์ฒ๋ผ ์จ์ ์ฌ๊ณ , ์ ์ ์๊ณ , ๋ฌ๋ฆด ์๋ ์์ต๋๋ค. ๊ทธ๋ ๊ฒ ์ฐ๋ฆฌ๋ ๊ธฐ์ด Animal (๋๋ฌผ) ํด๋์ค๋ฅผ ์ ์ํ ๋ค ๋๋ฌผ๋ค์ ์ผ๋ฐ์ ์ธ ์์ฑ๊ณผ ํ๋์ ๋์ดํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.

๋ฐฉ๊ธ ์ ์ํ ๊ฒ๊ณผ ๊ฐ์ ์์ ํด๋์ค๋ฅผ ๋ถ๋ชจ ํด๋์ค๋ผ๊ณ ํฉ๋๋ค.
๊ทธ ํ์์ ์๋ ํด๋์ค๋ค์ ์์ ํด๋์ค๋ค์ด๋ผ๊ณ ํฉ๋๋ค.
์์ ํด๋์ค๋ค์ ๋ถ๋ชจ๋ก๋ถํฐ ์ํ์ ํ๋๋ค์ ์์๋ฐ๊ณ , ๊ทธ์ค์์ ๋ถ๋ชจ์ ๋ฌด์ธ๊ฐ ๋ค๋ฅธ ๊ฒ๋ค๋ง์ ์ ์ํฉ๋๋ค.
๊ทธ๋์ Cat (๊ณ ์์ด) ํด๋์ค์๋ meow (์ผ์น) ๋ฉ์๋๊ฐ ์๊ณ ,
Dog (๊ฐ์์ง) ํด๋์ค์๋ bark (๋ฉ๋ฉ ์ง๋) ๋ฉ์๋๊ฐ ์๊ฒ ๋ฉ๋๋ค.
์ฐ๊ด๋ ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ์ด ์๋ค๋ฉด, ์ฌ๊ธฐ์ ๋ ๋์๊ฐ Organisms (๋ชจ๋ ์๋ช ์ฒด๋ค)๋ผ๋ ๋์ฑ ์ผ๋ฐ์ ์ธ ํด๋์ค๋ฅผ ์ถ์ถํ ์๋ ์์ต๋๋ค. ์ด ํด๋์ค๋ Animals (๋๋ฌผ๋ค) ๋ฐ Plants (์๋ฌผ๋ค)์ ๋ํ ๋ถ๋ชจ ํด๋์ค๊ฐ ๋ ๊ฒ์ ๋๋ค. ์ด๋ฐ ํด๋์ค๋ค์ ํผ๋ผ๋ฏธ๋๊ฐ ๋ฐ๋ก ๊ณ์ธต๊ตฌ์กฐ์ ๋๋ค. ์ด๋ฌํ ๊ณ์ธต๊ตฌ์กฐ์์ Cat (๊ณ ์์ด) ํด๋์ค๋ Animal (๋๋ฌผ)๊ณผ Organism (์๋ช ์ฒด) ํด๋์ค ์์ชฝ์ ๋ชจ๋ ๋ด์ฉ์ ์์๋ฐ์ต๋๋ค.

์์ ํด๋์ค๋ค์ ๋ถ๋ชจ ํด๋์ค๋ค์์ ์์ํ ๋ฉ์๋๋ค์ ํ๋์ ์ค๋ฒ๋ผ์ด๋ํ ์ ์์ต๋๋ค.
๋ ์์ ํด๋์ค๋ค์ ๋ํดํธ ํ๋๋ค์ ์์ ํ ๋์ฒดํ๊ฑฐ๋ ๋ช ๊ฐ์ง ํ๋๋ค์ ์ถ๊ฐํ์ฌ ๊ทธ ๊ธฐ๋ฅ๋ค์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
2. OOP์ ๊ธฐ๋ฅ๋ค
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP)์ OOP๋ฅผ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ํ ๋๋ ์ฒด๊ณ๋ค๊ณผ ์ฐจ๋ณํํ๋ 4๊ฐ์ง ๊ธฐ๋ฅ, ์ฆ ๊ธฐ๋ณธ ๊ฐ๋ ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.

2.1 ์ถ์ํ
๋๋ถ๋ถ์ ๊ฒฝ์ฐ OOP๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ๋๋ ์ค์ํ์ ์กด์ฌํ๋ ๊ฐ์ฒด๋ค์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด๋ค์ ํ์ฑํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด๋ค์ ์ค์ ์๋ณธ ๊ฐ์ฒด๋ค์ ์์ฑ๋ค์ 100% ์ ํํ๊ฒ ๋ํ๋ด์ง ์๊ณ , ๋๋ถ๋ถ ๊ทธ๋ด ํ์๋ ์์ต๋๋ค. ๋์ ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด๋ค์ ํน์ ๋งฅ๋ฝ์์๋ง ์ค์ ๊ฐ์ฒด๋ค์ ์์ฑ๋ค๊ณผ ํ๋๋ค์ ๋ชจ๋ธ๋งํ๊ณ ๋๋จธ์ง๋ค์ ๋ฌด์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด Airplane (๋นํ๊ธฐ) ํด๋์ค๋ ๋นํ ์๋ฎฌ๋ ์ดํฐ์ ํญ๊ณต ์ข์ ์์ฝ ์ฑ ๋ชจ๋์ ์กด์ฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋นํ์๋ฎฌ๋ ์ดํฐ๊ฐ ์ค์ ๋นํ๊ณผ ๊ด๋ จ๋ ์ธ๋ถ ์ ๋ณด๋ค์ ๋ด๊ณ ์๋ค๋ฉด, ํญ๊ณต ์ข์ ์์ฝ ์ฑ์์ ์ฌ๋๋ค์ด ์ ๊ฒฝ์ฐ๋ ๊ฑด ์ข์ ๋ฐฐ์น๋์ ์์ฝ ๊ฐ๋ฅํ ์ข์๋ค ๊ฐ์ ์ ๋ณด๋ค๋ฟ์ ๋๋ค

์ถ์ํ๋ ๋งฅ๋ฝ์ ๋ฐ๋ผ ํต์ฌ์ ์ธ ๊ฐ๋ ๋๋ ๊ธฐ๋ฅ๋ค๋ก ์ ํ๋๋ ์ค์ ๊ฐ์ฒด ๋๋ ํ์์ ๋ชจ๋ธ์ด๋ฉฐ, ์ด ๋งฅ๋ฝ๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ์ธ๋ถ ์ ๋ณด๋ ๋์ ์ ํ๋๋ก ๋ํ๋ด๊ณ ๋๋จธ์ง๋ ๋ชจ๋ ์๋ตํฉ๋๋ค
2.2 ์บก์ํ
์๋์ฐจ ์์ง์ ์๋ํ๋ ค๋ฉด ๋ฒํผ์ ๋๋ฅด๊ฑฐ๋ ํค๋ฅผ ๋๋ฆฌ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ํ๋ ์๋์ ์๋ ์ ์ ๋ค์ ์ฐ๊ฒฐํ๊ณ , ํฌ๋ญํฌ์ถ๊ณผ ์ค๋ฆฐ๋๋ฅผ ํ์ ์์ผ ์์ง์ ์ ์ ์ฌ์ดํด์ ์์ํ ํ์๊ฐ ์ ํ ์์ต๋๋ค.
์๋ํ๋ฉด ์ด๋ฌํ ์ธ์ธํ ์์
๋ค์ ์๋์ฐจ์ ํ๋ ์๋์ ์จ๊ฒจ์ ธ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
์ด์ ์์๊ฒ ์๋ ๊ฑด ์๋ ์ค์์น, ํธ๋ค, ๊ทธ๋ฆฌ๊ณ ๋ช ๊ฐ์ ํ๋ฌ์ด๋ผ๋ ๋จ์ํ ์ธํฐํ์ด์ค๊ฐ ์ ๋ถ์
๋๋ค.
์ด๊ฒ์ ๊ฐ ๊ฐ์ฒด๊ฐ ์ธํฐํ์ด์ค๋ฅผ ๊ฐ๋ ๋ฐฉ์์ ์ค๋ช
ํด์ค๋๋ค.
์ธํฐํ์ด์ค๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ์ํธ์์ฉํ ์ ์๋ ๊ฐ์ฒด์ ๊ณต๊ฐ๋ ๋ถ๋ถ์
๋๋ค.
์บก์ํ๋ ๊ฐ์ฒด๊ฐ ๊ทธ ์ํ์ ํ๋์ ์ผ๋ถ๋ฅผ ๋ค๋ฅธ ๊ฐ์ฒด๋ค๋ก๋ถํฐ ์จ๊ธฐ๊ณ , ๋๋จธ์ง ํ๋ก๊ทธ๋จ์๋ ์ ํ๋ ์ธํฐํ์ด์ค๋ง ๋ ธ์ถํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค.
๋ฌด์ธ๊ฐ๋ฅผ ์บก์ํํ๋ค๋ ๊ฒ์ ๊ทธ๊ฒ์ private (๋น๊ณต๊ฐ)๋ก ๋ง๋ ๋ค๋ ๋ป์ผ๋ก,
๊ทธ๋ฌ๋ฉด ๊ทธ ๋ฌด์ธ๊ฐ๋ฅผ ์์ ์ ํด๋์ค์ ๋ฉ์๋ ๋ด์์๋ง ์ ๊ทผํ ์ ์์ต๋๋ค.
์กฐ๊ธ ๋ ์ ํ์ ์ธ protected (๋ณดํธ๋) ์ ๊ทผ์ ํ์๋ผ๋ ๊ฒ๋ ์๋๋ฐ,
์ด๊ฒ์ ํด๋์ค์ ๋ฉค๋ฒ๋ฅผ ์์ ํด๋์ค๋ค์์๋ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋๋ค.
๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ธํฐํ์ด์ค๋ค, ์ถ์ ํด๋์ค๋ค, ๊ทธ๋ฆฌ๊ณ ์ถ์ ๋ฉ์๋๋ค์ ์ถ์ํ ๋ฐ ์บก์ํ ๊ฐ๋ ๋ค์ ๊ธฐ๋ฐ์ ๋ก๋๋ค. ํ๋ OOP ์ธ์ด๋ค์์์ ์ธํฐํ์ด์ค ๋ฉ์ปค๋์ฆ (์ผ๋ฐ์ ์ผ๋ก interface ๋๋ protocol ํค์๋๋ก ์ ์ธ๋จ)์ ๊ฐ์ฒด ๊ฐ์ ์ํธ ์์ฉ์ ๋ํ ๊ณ์ฝ์ ์ ์ํ ์ ์๋๋ก ํฉ๋๋ค. ์ด๋ ์ธํฐํ์ด์ค๋ค์ด ๊ฐ์ฒด๋ค์ ํ๋์๋ง ๊ด์ฌ์ ๋๋ ์ด์ ์ค ํ๋์ด์, ๋น์ ์ด ์ธํฐํ์ด์ค์์ ํ๋๋ฅผ ์ ์ธํ ์ ์๋ ์ด์ ์ ๋๋ค.
์ธํฐํ์ด์ค๋ผ๋ ๋จ์ด๋ ๊ฐ์ฒด์ ๊ณต๊ฐ๋ ๋ถ๋ถ์ ๋ํ๋ ๋๋ค. ๋์์ ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ interface ๋ผ๋ ์ ํ๋ ์์ง์. ์ด ์ฌ์ค์ด ๋งค์ฐ ํผ๋์ค๋ฝ๋ค๋ ์ฌ์ค์ ์ ๋ ์ ์ดํดํ๊ณ ์์ต๋๋ค.

fly(origin, destination, passengers) ((์ถ๋ฐ์ง, ๋ชฉ์ ์ง, ์น๊ฐ)์ ์ธ์๋ก ๋ฐ๋ ๋นํ) ๋ฉ์๋๊ฐ ์๋ FlyingTransport (๋นํ ์ด์ก ์๋จ) ์ธํฐํ์ด์ค๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ด
์๋ค.
ํญ๊ณต ์ด์ก ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ค๊ณํ ๋,
- ๋น์ ์ Airport (๊ณตํญ) ํด๋์ค๋ฅผ FlyingTransport ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๊ฐ์ฒด๋ค๊ณผ๋ง ์๋ํ๋๋ก ์ ํํ ์ ์์ต๋๋ค.
- ์ด๋ ๊ฒ ๋ง๋ค๊ณ ๋๋ฉด airplane (๋นํ๊ธฐ)์ด๋ , Helicopter (ํฌ๋ฆฌ์ฝฅํฐ)๋ , ์๋๋ฉด DomesticatedGryphon (์ง์์ ํค์ด ๋ ์๋ฆฌ์ฌ์)์ด๋ ,
- ๊ณตํญ ๊ฐ์ฒด์ ์ ๋ฌ๋ ์ด๋ค ๊ฐ์ฒด๋ผ๋ ์ด๋ฌํ ์ ํ์ ๊ณตํญ์์ ์ด์ฐฉ๋ฅํ ์ ์์ ๊ฑฐ๋ผ๊ณ ํ์ ํ ์ ์์ต๋๋ค.
๋ ๋น์ ์ ์ด๋ฌํ ํด๋์ค๋ค์ fly ๋ฉ์๋์ ๋ํ ๊ตฌํ์ ์ํ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ฉ์๋์ ์๊ทธ๋์ฒ๋ค์ด ์ธํฐํ์ด์ค์ ์ ์ธ๋ ๊ฒ๋ค๊ณผ ๊ฐ๊ฒ ์ ์ง๋๋ ํ Airport ํด๋์ค์ ๋ชจ๋ ์ธ์คํด์ค๋ ๋น์ ์ ๋นํ ๊ฐ์ฒด๋ค๊ณผ ์ ์๋ํ ์ ์์ต๋๋ค.
2.3 ์์
์์์ ๊ธฐ์กด ํด๋์ค๋ค ์์ ์ ํด๋์ค๋ค์ ๊ตฌ์ถํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์์์ ๊ฐ์ฅ ํฐ ์ด์ ์ ์ฝ๋ ์ฌ์ฌ์ฉ์ ๋๋ค. ๊ธฐ์กด ํด๋์ค์ ์ฝ๊ฐ ๋ค๋ฅธ ํด๋์ค๋ฅผ ๋ง๋ค๊ณ ์ถ์ ๋ ๊ธฐ์กด ์ฝ๋๋ฅผ ๋ณต์ ํ ํ์๊ฐ ์์ฃ . ๊ทธ ๋์ ๊ธฐ์กด(๋ถ๋ชจ) ํด๋์ค๋ฅผ ํ์ฅํ ํ ๋ถ๋ชจ ํด๋์ค์ ํ๋๋ค๊ณผ ๋ฉ์๋๋ค์ ์์ํ ๊ฒฐ๊ณผ ์์ ํด๋์ค์ ํ์ํ ์ถ๊ฐ ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐํ๋ฉด ๋ฉ๋๋ค.
์์์ ์ฌ์ฉํ๋ฉด ๊ฒฐ๊ณผ์ ์ผ๋ก ์์ ํด๋์ค๋ค์ด ๋ถ๋ชจ ํด๋์ค์ ๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ๊ฐ๊ฒ ๋ฉ๋๋ค. ์ด๋ค ๋ฉ์๋๊ฐ ๋ถ๋ชจ ํด๋์ค์์ ์ ์ธ๋์๋ค๋ฉด ์์ ํด๋์ค์์ ๊ทธ ๋ฉ์๋๋ฅผ ์จ๊ธธ ์ ์์ต๋๋ค. ๋ํ ์์ ํด๋์ค๋ค์ ์ด์ธ๋ฆฌ์ง ์๋ ์ถ์ ๋ฉ์๋๋ค์ ํฌํจํ์ฌ ๋ชจ๋ ์ถ์ ๋ฉ์๋๋ค์ ๊ตฌํํด์ผ ํฉ๋๋ค.

๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์์ ํด๋์ค๋ ํ๋์ ๋ถ๋ชจ ํด๋์ค๋ง ํ์ฅํ ์ ์์ต๋๋ค. ๋ฐ๋ฉด์ ๋ชจ๋ ํด๋์ค๊ฐ ๋์์ ์ฌ๋ฌ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ์ ์์ฃ . ํ์ง๋ง ์์ ์ธ๊ธํ๋ฏ์ด ๋ถ๋ชจ ํด๋์ค๊ฐ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ค๋ฉด ๋ชจ๋ ์์ ํด๋์ค๋ค ๋ํ ๊ทธ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค.
2.4 ๋คํ์ฑ
์ด์ ๋๋ฌผ์ ๋ํ ์์๋ฅผ ์ดํด๋ด
์๋ค. ๋๋ถ๋ถ์ Animals (๋๋ฌผ๋ค)๋ ์๋ฆฌ๋ฅผ ๋ผ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋ชจ๋ ์์ ํด๋์ค๋ค์ด ๊ธฐ์ด makeSound (์๋ฆฌ๋ด๊ธฐ) ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ํด์ผ
๊ฐ ์์ ํด๋์ค๊ฐ ๊ทธ์ ํด๋นํ๋ ๋๋ฌผ์ ์๋ฆฌ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๋ผ ์ ์๋ค๊ณ ์์ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ฐ๋ฆฌ๋ ์ด ๋ฉ์๋๋ฅผ ๋ฐ๋ก ์ถ์ ์ผ๋ก ์ ์ธํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ถ๋ชจ ํด๋์ค์์ ์ด ๋ฉ์๋์ ๋ํดํธ ๊ตฌํ์ ์๋ตํ ์ ์์ต๋๋ค. ํ์ง๋ง ๋ชจ๋ ์์ ํด๋์ค๋ค์ ๊ฐ์ ์ ์ผ๋ก ์ด ๋ฉ์๋๋ฅผ ๊ฐ์ ๊ตฌํํด์ผ ํฉ๋๋ค.

์ด์ ๋น์ ์ด ํฐ ๊ฐ๋ฐฉ์ ์ฌ๋ฌ ๊ณ ์์ด์ ๊ฐ๋ค์ ๋ฃ์๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ๊ทธ๋ฐ ๋ค์ ๋์ ๊ฐ์ ์ํ์์ ๊ฐ๋ฐฉ์์ ๋๋ฌผ๋ค์ ํ๋์ฉ ๊บผ๋ด๋ ๊ฒ๋๋ค. ๊ฐ๋ฐฉ์์ ๋๋ฌผ์ ๊บผ๋ธ ์งํ ๋น์ ์ ๊ทธ ๋๋ฌผ์ด ์ด๋ค ๋๋ฌผ์ธ์ง ํ์คํ ๋ชจ๋ฆ ๋๋ค. ํ์ง๋ง ๊ทธ ๋๋ฌผ์ ํ๊ป ๊ปด์์ ๋ณธ๋ค๋ฉด ์ด ๋๋ฌผ์ ๊ทธ ๊ตฌ์ ํด๋์ค์ ๋ฐ๋ผ ํน์ ํ ์๋ฆฌ๋ฅผ ๋ผ ๊ฒ์ ๋๋ค.
1bag = [new Cat(), new Dog()];23foreach (Animal a : bag)4a.makeSound()56// ์ผ์น!7// ๋ฉ๋ฉ!
ํ๋ก๊ทธ๋จ์ a ๋ณ์ ์์ ํฌํจ๋ ๊ฐ์ฒด์ ๊ตฌ์ ์ ํ์ ์์ง ๋ชปํฉ๋๋ค. ํ์ง๋ง ๋คํ์ฑ์ด๋ผ๋ ํน๋ณํ ๋ฉ์ปค๋์ฆ ๋๋ถ์, ํ๋ก๊ทธ๋จ์ ๊ทธ ๋ฉ์๋๊ฐ ์คํ๋์ด ์ ์ ํ ํ๋๋ค์ ์คํํ๋ ๊ฐ์ฒด์ ์์ ํด๋์ค๋ฅผ ์ถ์ ํ ์ ์์ต๋๋ค
๋คํ์ฑ์ ๊ฐ์ฒด์ ์ค์ ํด๋์ค๋ฅผ ๊ฐ์งํ๊ณ , ํด๋น ๊ฐ์ฒด์ ๊ตฌํ์ ํ์ฌ ๋งฅ๋ฝ์์ ์ด๊ฒ์ ์ค์ ์ ํ์ ์ ์ ์๋ ๊ฒฝ์ฐ์๋ ํธ์ถํ ์ ์๋ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ์ ๋๋ค.
๋คํ์ฑ์ ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๋ฌด์ธ๊ฐ์ธ ์ฒ โ๊ฐ์ฅโ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ผ๊ณ ๋ ์๊ฐํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก๋ ๊ฐ์ฒด๊ฐ ํ์ฅํ๋ ํด๋์ค ๋๋ ๊ตฌํํ๋ ์ธํฐํ์ด์ค์ธ ์ฒ ๊ฐ์ฅํฉ๋๋ค. ์ ์์์์๋ ๊ฐ๋ฐฉ์ ๋ ๊ฐ์ ๊ณ ์์ด๊ฐ ์ผ๋ฐ์ ์ธ ๋๋ฌผ์ธ ์ฒ ๊ฐ์ฅํ๊ณ ์์์ต๋๋ค.
3. ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ
์ ์ ์ค๋ช ํ ์์ ๋ฐ ๊ตฌํ ์ธ์๋ ๊ฐ์ฒด๋ค ์ฌ์ด์๋ ๋ค๋ฅธ ์ ํ์ ๊ด๊ณ๋ค์ด ์์ต๋๋ค
3.1 ์์กด์ฑ

์์กด์ฑ์ ํด๋์ค ๊ฐ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๊ณ ์ฝํ ์ ํ์ ๊ด๊ณ์
๋๋ค.
ํ ํด๋์ค์ ์ ์๋ฅผ ์ผ๋ถ ๋ณ๊ฒฝํ์ ๋ ๋ค๋ฅธ ํด๋์ค๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ ๋ ํด๋์ค ์ฌ์ด์ ์์กด์ฑ์ด ์๋ค๊ณ ํ ์ ์์ต๋๋ค.
์์กด์ฑ์ ์ผ๋ฐ์ ์ผ๋ก ์ฝ๋์์ ๊ตฌ์ ํด๋์ค ์ด๋ฆ๋ค์ ์ฌ์ฉํ ๋ ๋ง๋ค์ด์ง๋๋ค.
(์: ๋ฉ์๋ ์๊ทธ๋์ฒ ์ ํ๋ค์ ์ง์ ํ ๋, ์์ฑ์ ํธ์ถ๋ค์ ํตํด ๊ฐ์ฒด๋ค์ ์ธ์คํด์คํํ ๋ ๋ฑ).
๋น์ ์ ์ฝ๋๋ฅผ ๊ตฌ์ ํด๋์ค๊ฐ ์๋ ์ธํฐํ์ด์ค๋ ์ถ์ ํด๋์ค์ ์์กดํ๊ฒ ๋ง๋ค๋ฉด ์์กด์ฑ์ ์ฝํํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก UML ๋ค์ด์ด๊ทธ๋จ์ ๋ชจ๋ ์์กด ๊ด๊ณ๋ฅผ ํ์ํ์ง ์์ต๋๋ค. ์๋ํ๋ฉด ์ค์ ์ฝ๋์๋ ๋๋ฌด๋๋ ๋ง์ ์์กด ๊ด๊ณ๋ค์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ์์กด ๊ด๊ณ๋ก ๋ค์ด์ด๊ทธ๋จ์ ๋ณต์กํ๊ฒ ๋ง๋๋ ๋์ , ๋ํ๋ด๊ณ ์ ํ๋ ์์ด๋์ด์ ์ค์ํ ๊ด๊ณ๋ค๋ง ๋งค์ฐ ์ ๋ณ์ ์ผ๋ก ํ์ํด์ผ ํฉ๋๋ค
3.2 ์ฐ๊ด ๊ด๊ณ

์ฐ๊ด์ ํ ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ด ๋ ๊ฐ์ฒด๊ฐ ์ํธ ์์ฉํ๋ ๊ด๊ณ์
๋๋ค.
UML ๋ค์ด์ด๊ทธ๋จ์์ ์ฐ๊ด ๊ด๊ณ๋ ํ ๊ฐ์ฒด์์ ๊ทธ ๊ฐ์ฒด๊ฐ ์ฌ์ฉํ๋ ๊ฐ์ฒด๋ก ํฅํ๋ ๊ฐ๋จํ ํ์ดํ๋ก ํ์๋ฉ๋๋ค.
์ฐธ๊ณ ๋ก ์๋ฐฉํฅ ์ฐ๊ด ๊ด๊ณ๋ ์์ ํ ์ ์์ ์ด๋ฉฐ, ์ด ๊ฒฝ์ฐ ํ์ด์ ์ ๋์ ํ์ดํ๊ฐ ์์ต๋๋ค.
์ฐ๊ด์ ํน์ํ ์ข
๋ฅ์ ์์กด๊ด๊ณ๋ก ๊ฐ์ฃผํ ์ ์์ผ๋ฉฐ, ์ด๋ ๊ฐ์ฒด๋ ์ธ์ ๋ ์ํธ์์ฉํ๋ ๊ฐ์ฒด์ ์ ๊ทผํ ์ ์์ต๋๋ค.
๋ฐ๋ฉด ๋จ์ํ ์์กด๊ด๊ณ์์๋ ๊ฐ์ฒด ์ฌ์ด์ ์๊ตฌ์ ์ธ ์ฐ๊ฒฐ์ด ๋ง๋ค์ด์ง์ง ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ํฌํจ๋ ํ๋๋ฅผ ๋ํ๋ผ ๋๋ ์ฐ๊ด๊ด๊ณ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ํ๋๋ ๋ ๊ฐ์ฒด ๊ฐ์ ๋งํฌ ์ญํ ์ ํฉ๋๋ค. ํ์ง๋ง ๋ ํ๋์ผ ํ์๋ ์์ต๋๋ค. ์ฐ๊ด๊ด๊ณ๋ ์ผ๋ถ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ๋ฉ์๋๋ก ๋ํ๋ผ ์๋ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ธํฐํ์ด์ค์ ํ๋๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ธํฐํ์ด์ค ์ฌ์ด์์ ์ฐ๊ด๊ด๊ณ๋ฅผ ์ฌ์ฉํ ์ ์์ ๊ฒ์ ๋๋ค.
์ฐ๊ด ๊ด๊ณ์ ์์กด ๊ด๊ณ์ ์ฐจ์ด๋ฅผ ํ์คํ ์ง๊ณ ๋์ด๊ฐ ์ ์๊ฒ ๋ค๋ฅธ ์๋ฅผ ํ๋ ๋ ์ดํด๋ด
์๋ค.
Professor (๊ต์) ํด๋์ค๊ฐ ์๋ค๊ณ ๊ฐ์ ํฉ์๋ค.
1class Professor is2field Student student3// ...4method teach(Course c) is5// ...6this.student.remember(c.getKnowledge())
์ด์ teach ๋ฉ์๋๋ฅผ ์ดํด๋ณด์ธ์.
์ด ๋ฉ์๋๋ Course (์์
๊ณผ์ ) ํด๋์ค๋ฅผ ์ธ์๋ก ๋ฐ์ผ๋ฉฐ, ์ด ์ธ์๋ ๋ฉ์๋์ ๋ณธ๋ฌธ์์ ์ฌ์ฉ๋ฉ๋๋ค.
๋๊ตฐ๊ฐ๊ฐ getKnowledge ๋ฉ์๋์ ์๊ทธ๋์ฒ๋ฅผ ๋ณ๊ฒฝํ๋ฉด(์: ์ด๋ฆ์ ๋ฐ๊พผ๋ค๋ ์ง ๋๋ ํ์ํ ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ๋ค๋ ์ง ๋ฑ)
์ฝ๋๊ฐ ๋ ์ด์ ์๋ํ์ง ์์ ๊ฒ์
๋๋ค.
๋ฐ๋ก ์ด๊ฒ์ด Professor ํด๋์ค๊ฐ Course ํด๋์ค์ ์์กดํ๋ค๊ณ ๋งํ ์ ์๋ ์ด์ ์
๋๋ค.
์ด์ student ํ๋๋ฅผ ์ดํด๋ณด๊ณ ํด๋น ํ๋๊ฐ teach ๋ฉ์๋์์ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง๋ ์ดํด๋ณด์ธ์.
Student ํด๋์ค๋ Professor ํด๋์ค์ ์์กดํ๋ dependency๋ผ๊ณ ํ์คํ ๋งํ ์ ์์ต๋๋ค.
์๋ํ๋ฉด remember ๋ฉ์๋์ ์๊ทธ๋์ฒ๊ฐ ๋ณ๊ฒฝ๋๋ฉด, Professor์ ์ฝ๋๊ฐ ๊นจ์ง๊ธฐ ๋๋ฌธ์
๋๋ค.
๊ทธ๋ฌ๋ Professor์ ๋ชจ๋ ๋ฉ์๋๋ student ํ๋์ ์ ๊ทผํ ์ ์์ผ๋ฏ๋ก,
Studentํด๋์ค๋ Professor์ ์์กดํ๋ dependency์ผ ๋ฟ๋ง์ด ์๋๋ผ Professor์ ์ฐ๊ด ๊ด๊ณ๊ฐ ์๊ธฐ๋ ํฉ๋๋ค.
3.3 ์งํฉ ๊ด๊ณ

์งํฉ ๊ด๊ณ๋ ์ฌ๋ฌ ๊ฐ์ฒด ๊ฐ์ โ์ผ-๋-๋คโ, โ๋ค-๋-๋คโ ๋๋ โ์ ์ฒด-๋ถ๋ถโ ๊ด๊ณ๋ค์ ๋ํ๋ด๋ ํน์ํ ์ ํ์ ์ฐ๊ด ๊ด๊ณ์
๋๋ค
์ผ๋ฐ์ ์ผ๋ก ์งํฉ ๊ด๊ณ์์ ๊ฐ์ฒด๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ ์งํฉ์ โ๊ฐ์ง๋ฉฐโ, ์ปจํ ์ด๋ ๋๋ ์ปฌ๋ ์ ์ญํ ์ ํฉ๋๋ค. ์ปดํฌ๋ํธ๋ ์ปจํ ์ด๋ ์์ด ์กด์ฌํ ์ ์์ผ๋ฉฐ, ๋์์ ์ฌ๋ฌ ์ปจํ ์ด๋์ ์ฐ๊ฒฐ๋ ์ ์์ต๋๋ค. UML์์ ์งํฉ ๊ด๊ณ๋ ์ปจํ ์ด๋ ๋์์๋ ๋น ๋ค์ด์๋ชฌ๋๊ฐ ๋ฌ๋ ค์๊ณ , ์ปดํฌ๋ํธ๋ฅผ ๊ฐ๋ฆฌํค๋ ๋๋ถ๋ถ์์๋ ํ์ดํ๊ฐ ๋ฌ๋ฆฐ ์ ์ผ๋ก ํ์๋ฉ๋๋ค.
UML์ ํด๋์ค๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ ๋๋ค. ์ด๊ฒ์ ๋ค์ด์ด๊ทธ๋จ์์์ ๊ฐ ์ฌ๋ฌผ์ด ํ๋์ โ๋ธ๋กโ๋ง์ผ๋ก ํ์๋๋๋ผ๋ ๋ํ ๊ฐ์ฒด๊ฐ ์ฌ๋ฌ ํ๊ณผ๋ก ๊ตฌ์ฑ๋ ์ ์์์ ์๋ฏธํฉ๋๋ค. UML ํ๊ธฐ๋ฒ์์๋ ๊ด๊ณ์ ์์ชฝ์ ์๋์ ํ์๋ผ ์ ์์ง๋ง ์ด ์๋์ด ๋งฅ๋ฝ์ ๋ช ํํ๋ฉด ์๋ตํด๋ ๋ฉ๋๋ค.
3.4 ํฉ์ฑ ๊ด๊ณ

ํฉ์ฑ ๊ด๊ณ๋ ํน์ ์ ํ์ ์งํฉ ๊ด๊ณ๋ก, ์ฌ๊ธฐ์ ๊ฐ์ฒด๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ํ๋ ๋๋ ๊ทธ ์ด์์ ์ธ์คํด์ค๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
ํฉ์ฑ ๊ด๊ณ์ ๋ค๋ฅธ ๊ด๊ณ๋ค์ ์ฐจ์ด์ ์ ์ปดํฌ๋ํธ๊ฐ ์ปจํ
์ด๋์ ์ผ๋ถ๋ก๋ง ์กด์ฌํ ์ ์๋ค๋ ๊ฒ์
๋๋ค.
UML์์ ํฉ์ฑ ๊ด๊ณ๋ ์งํฉ ๊ด๊ณ์ ๋์ผํ๊ฒ ํ์๋์ง๋ง, ํ์ดํ์ ์์ด ์ฑ์์ง ๋ค์ด์๋ชฌ๋๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.
๋ง์ ์ฌ๋์ด 'ํฉ์ฑ'์ด๋ผ๋ ์ฉ์ด๋ฅผ ํฉ์ฑ๊ณผ ์งํฉ ๊ด๊ณ ๋ชจ๋๋ฅผ ๋ปํ๋ ์ํฉ์์ ์ฌ์ฉํ๊ณค ํฉ๋๋ค.
๊ทธ ๊ฐ์ฅ ์
๋ช
๋์ ์์๊ฐ ๋ฐ๋ก โ์์๋ณด๋ค ํฉ์ฑ์ ์ ํํ์ญ์์คโ๋ผ๋ ์ ๋ช
ํ ์์น์
๋๋ค.
์ฌ๋๋ค์ด ๋ ์ฌ์ด์ ์ฐจ์ด์ ์ ๋ํด ๋ฌด์งํด์๊ฐ ์๋๋ผ,
ํฉ์ฑ์ ๋ปํ๋ composition(๊ตฌ์ฑ)์ด๋ผ๋ ๋จ์ด(์: โ๊ฐ์ฒด ๊ตฌ์ฑโ)๊ฐ ์์ด์์๋ ๋ ์์ฐ์ค๋ฝ๊ฒ ๋ค๋ฆฌ๊ธฐ ๋๋ฌธ์
๋๋ค
4. ํฐ ๊ทธ๋ฆผ
์ด์ ๊น์ง ๊ฐ์ฒด ๊ฐ์ ๋ชจ๋ ๊ด๊ณ์ ๋ํด ์ดํด๋ณด์์ผ๋ฏ๋ก ์ด ๊ด๊ณ๋ค์ด ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋์๋์ง ์ดํด๋ด ์๋ค. ์ด ์ค๋ช ์ด โ์งํฉ ๊ด๊ณ์ ํฉ์ฑ ๊ด๊ณ์ ์ฐจ์ด์ ์ ๋ฌด์์ ๋๊นโ ๋๋ โ์์ ๊ด๊ณ๋ ์์กด ๊ด๊ณ์ ์ผ์ข ์ ๋๊นโ์ ๊ฐ์ ์ง๋ฌธ๋ค์ ๋ต์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.

์์ฐ ์งํฉ ๊ตฌ์
์์กด ๊ด๊ณ: ํด๋์ค A๋ ํด๋์ค B๊ฐ ๋ณ๊ฒฝ๋ ๋ ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค.์ฐ๊ด ๊ด๊ณ: ๊ฐ์ฒด ะ๊ฐ ๊ฐ์ฒด B์ ๋ํด ์๊ณ ์์ต๋๋ค. ํด๋์ค A๋ B์ ์์กดํฉ๋๋ค.์งํฉ ๊ด๊ณ: ๊ฐ์ฒด ะ๊ฐ ๊ฐ์ฒด B์ ๋ํด ์๊ณ ์์ผ๋ฉฐ, B๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ํด๋์ค A๋ B์ ์์กดํฉ๋๋ค.ํฉ์ฑ ๊ด๊ณ: ๊ฐ์ฒด ะ๊ฐ ๊ฐ์ฒด B์ ๋ํด ์๊ณ , B๋ก ๊ตฌ์ฑ๋๋ฉฐ, B์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ํด๋์ค A๋ B์ ์์กดํฉ๋๋ค.๊ตฌํ ๊ด๊ณ: ํด๋์ค ะ๊ฐ ์ธํฐํ์ด์ค B์ ์ ์ธ๋ ๋ฉ์๋๋ฅผ ์ ์ํฉ๋๋ค.- ๊ฐ์ฒด A๋ B์ฒ๋ผ ์ฒ๋ฆฌ๋ ์ ์์ต๋๋ค. ํด๋์ค A๋ B์ ์์กดํฉ๋๋ค.
์์ ๊ด๊ณ: ํด๋์ค ะ๊ฐ ํด๋์ค B์ ์ธํฐํ์ด์ค ๋ฐ ๊ตฌํ ๊ด๊ณ๋ฅผ ์์ํ์ง๋ง ์ด๋ฅผ ํ์ฅํ ์ ์์ต๋๋ค.- ๊ฐ์ฒด A๋ B์ฒ๋ผ ์ฒ๋ฆฌ๋ ์ ์์ต๋๋ค. ํด๋์ค A๋ B์ ์์กดํฉ๋๋ค.