2022. 3. 28. 11:41ใJAVA/๊ฐ์ฒด์งํฅ
1๏ธโฃ ๊ฐ๋ ๊ด์ , ๋ช ์ธ ๊ด์ , ๊ตฌํ ๊ด์
๊ฐ๋ ๊ด์ Conceptual Perspective
๊ฐ๋ ๊ด์ ์์ ์ค๊ณ๋ ๋๋ฉ์ธ ์์ ์กด์ฌํ๋ ๊ฐ๋ ๊ณผ ๊ฐ๋ ๋ค ์ฌ์ด์ ๊ด๊ณ๋ฅผ ํํํ๋ค.
๋๋ฉ์ธ์ด๋ ์ฌ์ฉ์๋ค์ด ๊ด์ฌ์ ๊ฐ์ง๊ณ ์๋ ํน์ ๋ถ์ผ๋ ์ฃผ์ ๋ฅผ ๋งํ๋ฉฐ ์ํํธ์จ์ด๋ ๋๋ฉ์ธ์ ์กด์ฌํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฐ๋๋ค.
๋ฐ๋ผ์ ์ด ๊ด์ ์ ์ฌ์ฉ์๊ฐ ๋๋ฉ์ธ์ ๋ฐ๋ผ๋ณด๋ ๊ด์ ์ ๋ฐ์ํ๋ค.
๋ช ์ธ ๊ด์ (Specification Perspective)
๋ช ์ธ ๊ด์ ์ ์ด๋ฅด๋ฉด ์ฌ์ฉ์์ ์์ญ์ธ ๋๋ฉ์ธ์ ๋ฒ์ด๋ ๊ฐ๋ฐ์์ ์์ญ์ธ ์ํํธ์จ์ด๋ก ์ด์ ์ด ์ฎ๊ฒจ์ง๋ค.
๋ช ์ธ ๊ด์ ์ ๋๋ฉ์ธ์ ๊ฐ๋ ์ด ์๋๋ผ ์ค์ ๋ก ์ํํธ์จ์ด ์์์ ์ด์ ์จ์ฌ๋ ๊ฐ์ฒด๋ค์ ์ฑ ์์ ์ด์ ์ ๋ง์ถ๊ฒ ๋๋ค.
์ฆ ๊ฐ์ฒด์ ์ธํฐํ์ด์ค๋ฅผ ๋ฐ๋ผ๋ณด๊ฒ ๋๊ณ , ๋ช ์ธ๊ด์ ์์ ํ๋ก๊ทธ๋๋จธ๋ ๊ฐ์ฒด๊ฐ ํ๋ ฅ์ ์ํด '๋ฌด์'์ ํ ์ ์๋๊ฐ์ ์ด์ ์ ๋ง์ถ๋ค.
๊ตฌํ ๊ด์ (Implementation Perspective)
๊ตฌํ ๊ด์ ์ ํ๋ก๊ทธ๋๋จธ์ธ ์ฐ๋ฆฌ์๊ฒ ๊ฐ์ฅ ์ต์ํ ๊ด์ ์ผ๋ก ์ค์ ์์ ์ ์ํํ๋ ์ฝ๋์ ์ฐ๊ด๋ผ ์๋ค.
๊ตฌํ ๊ด์ ์ ์ด์ ์ ๊ฐ์ฒด๋ค์ด ์ฑ ์์ ์ํํ๋๋ฐ ํ์ํ ๋์์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ผ๋ก ํ๋ก๊ทธ๋๋จธ๋ ๊ฐ์ฒด์ ์ฑ ์์ '์ด๋ป๊ฒ' ์ํํ ๊ฒ์ธ๊ฐ์ ์ด์ ์ ๋ง์ถ๋ฉฐ, ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋๋ฐ ํ์ํ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ํด๋์ค์ ์ถ๊ฐํ๋ค.
ํด๋์ค๋ ์ธ๊ฐ์ง ๊ด์ ์ ๋ชจ๋ ์์ฉํ ์ ์๋๋ก ๊ฐ๋ , ์ธํฐํ์ด์ค, ๊ตฌํ์ ํจ๊ป ๋๋ฌ๋ด์ผํ๋ค.
ํ๋ ฅํ๊ธฐ ์ํด ๊ฐ์ฒด๊ฐ ์์ ํด์ผํ๋ ๋ฉ์์ง๋ฅผ ๊ฒฐ์ ํ๊ณ , ๋ฉ์์ง๋ค์ด ๋ชจ์ฌ ๊ฐ์ฒด์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํ๋ค๋ ์ ์ ๊ธฐ์ตํ์!
ํ๋ ฅ์ ์ค๊ณํ ๋๋ ๊ฐ์ฒด๊ฐ ๋ฉ์์ง๋ฅผ ์ ํํ๋ ๊ฒ์ด ์๋๋ผ ๋ฉ์์ง๊ฐ ๊ฐ์ฒด๋ฅผ ์ ํํ ์ ์๋๋ก ํด์ผํ๋ค.
2๏ธโฃ ์ธํฐํ์ด์ค
๊ฐ์ฒด๊ฐ ์์ ํ ๋ฉ์์ง๊ฐ ๊ฐ์ฒด์ ์ธํฐํ์ด์ค๋ฅผ ๊ฒฐ์ ํ๋ค.
๋ฉ์์ง๊ฐ ๊ฐ์ฒด๋ฅผ ์ ํํ๊ณ , ์ ํ๋ ๊ฐ์ฒด๋ ๋ฉ์์ง๋ฅผ ์์ ์ ์ธํฐํ์ด์ค๋ก ๋ฐ์๋ค์ธ๋ค.
๊ฐ ๊ฐ์ฒด๋ฅผ ํ๋ ฅ์ด๋ผ๋ ๋ฌธ๋งฅ์์ ๋ผ์ด๋ด์ด ์์ ๊ฐ๋ฅํ ๋ฉ์์ง๋ง ์ถ๋ ค๋ด๋ฉด ๊ฐ์ฒด์ ์ธํฐํ์ด์ค๊ฐ ๋๋ค.
ํด๋์ค์ public ๋ฉ์๋๋ ๋ค๋ฅธ ํด๋์ค๊ฐ ํ๋ ฅํ ์ ์๋ ๊ณต์ฉ ์ธํฐํ์ด์ค๋ฅผ ๋๋ฌ๋ด๊ณ ,
๊ณต์ฉ ์ธํฐํ์ด์ค๋ ์ธ๋ถ์ ๊ฐ์ฒด๊ฐ ํด๋น ๊ฐ์ฒด์ ์ ๊ทผํ ์ ์๋ ์ ์ผํ ๋ถ๋ถ์ด๋ค.
์ธํฐํ์ด์ค๋ฅผ ์์ ํ๋ฉด ํด๋น ๊ฐ์ฒด์ ํ๋ ฅํ๋ ๋ชจ๋ ๊ฐ์ฒด์๊ฒ ์ํฅ์ ๋ฏธ์น ์๋ฐ์ ์๋ค.
3๏ธโฃ ๊ตฌํ
๊ตฌํ ๊ด์ ์์๋ ํด๋์ค์ ๋ด๋ถ ๊ตฌํ์ ๋ฐ๋ผ๋ณธ๋ค.
๋ฉ์๋์ ๊ตฌํ๊ณผ ์์ฑ์ ๋ณ๊ฒฝ์ ์์น์ ์ผ๋ก ์ธ๋ถ์ ๊ฐ์ฒด์๊ฒ ์ํฅ์ ๋ฏธ์ณ์๋ ์๋๋ค!!
๋ฉ์๋์ ์์ฑ์ด ์ฒ ์ ํ๊ฒ ํด๋์ค ๋ด๋ถ๋ก ์บก์ํ๋์ด์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋ฉ์๋์ ์์ฑ์ ํด๋์ค ๋ด๋ถ์ ๋น๋ฐ์ด๋ค.
์ธํฐํ์ด์ค์ ๊ตฌํ์ ๋ถ๋ฆฌํ์!
์บก์ํ๋ฅผ ์๋ฐํด์ ๊ตฌํ์ ์ธํฐํ์ด์ค ๋ฐ์ผ๋ก ๋ ธ์ถํด์๋ ์๋๊ณ ,
์ธํฐํ์ด์ค์ ๊ตฌํ์ ๋ช ํํ๊ฒ ๋ถ๋ฆฌํ์ง ์๊ณ ํ๋ฆฟํ๊ฒ ์์ด๋์๋ ์๋๋ค.
์ถ์ฒ: ๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด_์กฐ์ํธ ์ง์
'JAVA > ๊ฐ์ฒด์งํฅ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ฐ์ฒด์งํฅ] 8. ์ถ์ํ ๊ธฐ๋ฒ (0) | 2022.03.29 |
---|---|
[๊ฐ์ฒด์งํฅ] 6. ๊ตฌ์กฐ์ค๊ณ (0) | 2022.03.26 |
[๊ฐ์ฒด์งํฅ] 5. ์ฑ ์๊ณผ ๋ฉ์์ง (0) | 2022.03.25 |
[๊ฐ์ฒด์งํฅ] 4. ์ญํ , ์ฑ ์, ํ๋ ฅ โญ๐ (0) | 2022.03.24 |
[๊ฐ์ฒด์งํฅ] 3. ์ถ์ํ (0) | 2022.03.23 |