๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋?
- ํ๋ก๊ทธ๋จ ๋ฐฉ๋ฒ๋ก
- ์ฌ๋์ด ํ์ค์ ๋ฐ๋ผ๋ณด๋ ๋ฐฉ๋ฒ์ ๊ฐ๋ฐ์ ์ ๋ชฉ
- ์ง๊ด์ ์ผ๋ก ์ดํดํ๊ธฐ ์ฝ๋ค.
- ์ ์ง ๋ณด์๋ฅผ ์ฉ์ดํ๊ฒ ๋ง๋ ๋ค.
ํค์๋๋ก ์์๋ณด๋ ๊ฐ์ฒด์งํฅ
- ๊ฐ์ฒด
- ๊ฐ์ฒด๋ ํ์ค์ ๋ฌด์์ธ๊ฐ์ ๋์ํ๋ ๊ฐ๋
์ด๋ค.
- class๋ ๊ฐ์ฒด๋ฅผ ํํํ๋ ํ๋์ ์๋จ์ด๋ค (class != ๊ฐ์ฒด)
๊ฐ์ฒด๋ ๋ฌด์์ธ๊ฐ?
- ๋ค๋ฅธ ๊ฐ์ฒด์ ํ๋ ฅ(Collaboration) ํ๋ ์ญํ (role)์ ๋งก๊ณ ์๋ ๋์.
- ์ญํ (role)์ ๋งก์ผ๋ฉด ์๋ฌด๋ฅผ ์ํํ ์ฑ
์(responsibility)์ด ์๊ธด๋ค.
- ์ฑ
์์ ๋คํ๊ธฐ ์ํ ๋ฐ์ดํฐ์ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ํ๋ ฅ๊ณผ ์ฑ
์, ์ญํ
- ํ๋ ฅ(Collaboration)
- ์์คํ
๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ์ฒด๊ฐ ์ฐธ์ฌํ์ฌ ํ๋ํ๋ ๊ฒ.
- ex) ์นํจ์ ํ๊ฒจ์ ์๋์๊ฒ ๋ฐฐ๋ฌํด์ผ ํ๋ค.
- ์ฑ
์(Collaboration)์ด๋
- ํ๋ ฅ ์์์ ๋ณธ์ธ์ด ์ํํด์ผ ํ ์๋ฌด์ ๋ด์ฉ์ ์๊ณ , ์ํํ๋ ๊ฒ.
- ex) ์นํจ์ ํ๊ธธ ๊ฐ์ฒด๋ ์นํจ์ ๋ง์๊ฒ ์กฐ๋ฆฌํ ์ฑ
์์ ๊ฐ๋๋ค.
- ์ญํ (role) ์ด๋?
-
๋ฉ์์ง
- ๊ฐ์ฒด๋ ๋ฉ์์ง๋ฅผ ํตํด ๋ค๋ฅธ ๊ฐ์ฒด์ ์ฑ
์์ ๋คํ๋ผ๊ณ ์๊ตฌํ๋ค.
- ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ๊ฐ์ฒด๋ ๋ฌด์์ ํ ์ง๋ง ์๊ตฌํ๊ณ , ์ด๋ป๊ฒ ํ๋์ง๋ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๋ค.
- ๊ฐ์ฒด๋ ์ฑ
์์ ์ํํ๋ผ๊ณ ์๊ตฌ๋ฐ์ง๋ง, ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง๋ ์์จ์ ๋งก๊ธด๋ค.
-
์์จ์ฑ(์์ธํ)
- ๊ฐ์ฒด์งํฅ๊ณผ ํ์ค์ธ๊ณ์ ์ฐจ์ด์
- ํ์ค ์ธ๊ณ์ ๊ฐ๊ฒ๋ ๊ฑด๋ฌผ์ ๋ถ๊ณผํ๋ค.
- ๊ฐ์ฒด์งํฅ ์ธ๊ณ์ ์นํจ ๊ฐ๊ฒ๋ ์ค์ค๋ก ์นํจ์ ํ๊ธฐ๊ณ , ์นํจ์ ๊ฑด๋ค์ด ์ค๋ค.
- ์ฆ, ๊ฐ์ฒด์งํฅ์์ ๊ฐ์ฒด๊ฐ ์์จ์ ์ผ๋ก, ๋ฅ๋์ ์ผ๋ก ํ๋ํ ์ ์๋ค๊ณ ์์ธํ ํ์ฌ์ผ ํ๋ค.
- ์์จ์ ์ผ๋ก ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์ ์์ ์ ์ฑ
์์ ์ํํ๋ ๋ฐ ํ์ํ ๋ฐ์ดํฐ์ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
-
๋คํ์ฑ
- ๋คํ์ฑ์ ํ์ฉํ๋ ๋ชฉ์ ์ ์๋ก ๋ค๋ฅธ ์ ํ์ ๊ฐ์ฒด๊ฐ ๋์ผํ ๋ฉ์์ง์ ๋ํด ๋ค๋ฅด๊ฒ ๋ฐ์ํ๊ฒ ํ๊ธฐ ์ํด์์ด๋ค.
- ๋์ผํ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๋ค == ๊ฐ์ ์ญํ ์ ์ํํ๋ค.
- ๋ค๋ฅด๊ฒ ๋ฐ์ํ๋ค == ๋ฉ์์ง ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์์จ์ ์ด๋ค.
์ค๊ฐ ์ ๋ฆฌ
- ๊ฐ์ฒด๋ ํ์ค์ ๊ฐ๋
์ ์ถ์ํํ ๊ฒ์ด๋ค.
- ๊ฐ์ฒด๋ค์ ์๋ก ํ๋ ฅํ๊ณ , ์ญํ ์ ๋งก์ ์ฑ
์์ ์ํํ๋ฉฐ ๋ฌธ์ ์ํฉ์ ํด๊ฒฐํ๋ค.
- ํ์ง๋ง ํ์ค์ ์ฌ๋ฌผ๊ณผ ๋ฌ๋ฆฌ ๊ฐ์ฒด๋ ๋ฅ๋์ ์ด๊ณ ์์จ์ ์ธ ์กด์ฌ์ด๋ค.
โป๋น ์ง๊ธฐ ์ฌ์ด ํจ์
ํ์ค ์ธ๊ณ๋ฅผ ๋ฐ์ํ๊ธฐ ์ํ ์ค๊ณ๋ฅผ ์์ํ๋ฉด ๋ฐ์ดํฐ ์ค์ฌ์ ์ค๊ณ๋ฅผ ํ๊ธฐ ์ฝ๋ค.
-> ์นํจ์ง์ ์๋ฆฌ์ฌ, ์ ํ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํด. ๋ฐฐ๋ฌ์์ ๋ฐฐ๋ฌ๋์ฐฉ์ง. ์นํจ, ๋ฐ์์ผ ํ ๋์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๊ณ ...
๋ฐ์ดํฐ ์ค์ฌ์ ๋ฌธ์ ์
(1) getter, setter๊ฐ ๊ณผ๋ํ๊ฒ ์ถ๊ฐ๋์ด ๊ฒฐํฉ๋๊ฐ ๋์์ง๋ค. (์๋ก ์๊ณ ์๋ ๊ฐ์ฒด๊ฐ ๋ง์์ง๋ค)
-> ๊ฒฐํฉ๋๊ฐ ๋์์ง๋ฉด ๋ฐ์ดํฐํ(ํ์
)์ด ๋ณ๊ฒฝ๋์์ ๋, ์ ์ง๋ณด์ ๊ธฐ๋ฅ์ด ๋จ์ด์ง๋ค
(2) ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์์
๊ณผ ๋ฐ์ดํฐ ๋ถ๋ฆฌ๋์ด ์์ง๋๊ฐ ๋ฎ์์ง๋ค. (์ฌ๋ฌ๊ฐ์ง ์ด์ ๋ก ๋ณ๊ฒฝ๋์ด์ผ ํ๋ค)
์ฑ
์ ์ฃผ๋ ๊ฐ๋ฐ(๊ฐ์ฒด์งํฅ์ ์ธ ์นํจ์ง ๋ง๋ค๊ธฐ)
-
์์คํ
์ด ์ฌ์ฉ์์๊ฒ ์ ๊ณตํด์ผ ํ๋ ๊ธฐ๋ฅ์ธ ์์คํ
์ฑ
์์ ํ์
ํ๋ค.
- ์นํจ ์ฃผ๋ฌธ์ ๋ฐ์ ์๋์๊ฒ ๋ฐฐ๋ฌํ๋ค.
-
์์คํ
์ฑ
์์ ๋ ์์ ์ฑ
์์ผ๋ก ๋ถํ ํ๋ค.
- ๋ฉ์์ง๋ฅผ ์์ฑํ๋ค.
- ์นํจ ์ฃผ๋ฌธ์ ๋ฐ๋๋ค.
- ์นํจ์ ์๋ฆฌํ๋ค.
- ์นํจ์ ์๋์๊ฒ ๋ฐฐ๋ฌํ๋ค.
-
๋ถํ ๋ ์ฑ
์์ ์ํํ ์ ์๋ ์ ์ ํ ๊ฐ์ฒด ๋๋ ์ญํ ์ ์ฐพ์ ์ฑ
์์ ํ ๋นํ๋ค.
- ๊ฐ์ฒด๊ฐ ์ฑ
์์ ์ํํ๋ ๋์ค ๋ค๋ฅธ ๊ฐ์ฒด์ ๋์์ด ํ์ํ ๊ฒฝ์ฐ ์ด๋ฅผ ์ฑ
์์ง ์ ์ ํ ๊ฐ์ฒด ๋๋
์ญํ ์ ์ฐพ๋๋ค.
- ํด๋น ๊ฐ์ฒด ๋๋ ์ญํ ์๊ฒ ์ฑ
์์ ํ ๋นํจ์ผ๋ก์จ ๋ ๊ฐ์ฒด๊ฐ ํ๋ ฅํ๊ฒ ํ๋ค.