๐ค ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๋ฐ์ ํ๊ฒ ๋ ์ด์
์ํํธ์จ์ด ๊ณตํ์ ์ต์ํ์ ๋น์ฉ์ผ๋ก ์ต๋ํ์ ํจ๊ณผ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ฐ์ ๋ ํ๋ฌธ์ด๋ค. ์์ฑ๋ถํฐ ํ๊ธฐ๊น์ง์ ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด์ ๋ง๋ค์ด์ก๋ค. ์ด๊ธฐ์๋ ๊ฐ๋ฐ๋น์ฉ, ์์ฑ๋น์ฉ์ด ๋์๋ค. ํ์ง๋ง ๋ง์ ํ์ฌ์์ ์ฝ๋๋ฅผ ๊ณต๊ฐํ๋ฉด์ ์์ฑ ๋น์ฉ์ด ๊ต์ฅํ ์ค์ด๋ค๊ฒ ๋์๋ค.
๋ฐ๋ผ์ ์ต๊ทผ์๋ ์ ์ง๋ณด์๋น์ฉ์ด ์์ฑ๋น์ฉ๋ณด๋ค ํจ์ฌ ๋ง์ด ๋ฐ์ํ๊ฒ ๋์๋ค. ๊ทธ๋์ ์ ์ง๋ณด์ ๋น์ฉ์ ์ค์ด๊ธฐ์ํด ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๊ฒจ๋ฌ๋ค.
- ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ๋ก : SW ๊ณตํ์ ๊ด์ ์์ ๋ช
๋ น์ด๋ฅผ ๋ง๋ค์ด๋ด๋ ๋ฐฉ๋ฒ์ ํจ์จ์ ์ผ๋ก ํ๊ธฐ ์ํจ
โฝ ํจ์ ์งํฅํ : ์์ฑ ๋น์ฉ ์ค์ด๊ธฐ = ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ ๋์ด๊ธฐ = ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ธฐ์ ๋ฐ๋ฌ : ๋ชจ๋ํ(ํจ์ ๋จ์) ์ฆ, ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ด ๋์์ง
โพ ๊ฐ์ฒด ์งํฅํ : ์ ์ง๋ณด์ ๋น์ฉ ์ค์ด๊ธฐ = ๋ฐ์ดํฐ ๋ณํ์ ๋๊ฐํด์ง๊ฒ ํ๊ธฐ = ๋ชจ๋ํ(object(data+code) ๋จ์)
- ํ๋ก์ ํธ ๋ฐฉ๋ฒ๋ก : ํญํฌ์, ์ ์์ผ, ์นธ๋ฐ, ํ์ด๋ธ๋ฆฌ๋ ๋ฑ๋ฑ
๐ค JAVA (๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ)
Java๋ ์ต์ ํ(์๋) ๋ฒ๋ฆฌ๊ณ ํธ์์ฑ(ํธ๋ฆฌ) ์ถ๊ตฌํ๋ ์ธ์ด์ด๋ค. ํ์ง๋ง ๋์ค์ ์ต์ ํ๋ฅผ ํ๊ธด ํด์ผํ๋ค.
์๋ฐ์ ์๋ฃํ์ ๊ธฐ๋ณธ ์๋ฃํ(๊ฐ์ ๋ค๋ฃธ)๊ณผ ์ฐธ์กฐ ์๋ฃํ(ํฌ์ธํฐ:์ฃผ์๋ฅผ ๋ค๋ฃธ/ํด๋์ค)์ด ์๋ค.
๊ทธ ์ค ์ฐธ์กฐ ์๋ฃํ์ c์ธ์ด์ ํฌ์ธํฐ์ ๋น์ทํ๋ค. <ํํ๋ฒ : c : “ -> ”, java : “ . ”>
๋ฉ๋ชจ๋ฆฌ๋ ์ฃผ์์ ๊ฐ์ผ๋ก ๋๋๊ณ ์ฃผ๊ธฐ์ต์ฅ์น๋ ์ฃผ์๋ก ๊ฐ์ ์ฐพ๋๋ค.
๐ฅ๊ทธ๋ผ ์ ์ฃผ์๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฑธ๊น?
์ฌ๋ฌ ๊ฐ์ ์๋ฃ๋ฅผ ํ๋ฒ์ ๋ค๋ฃจ๊ณ ์ถ๊ธฐ ๋๋ฌธ์ด๋ค.
์๋ฐ์์ ์ฐธ์กฐ์๋ฃํ์ ํด๋์ค๋ฅผ ์๋ฏธํ๋ค. ํด๋์ค๋ ๋ค์๊ณผ ๊ฐ๋ค.
๐คฉํด๋์ค
๊ฐ์ฒด(DATA + CODE) ๊ฐ์ ํต์ , ์์ฑ(Attribute)๊ณผ ๋ฉ์๋(Code)
๋จ์ผ ์ฑ ์ = ๋จ์ผ ์ญํ = ๊ด๋ จ๋ ๋ค์์ ๊ธฐ๋ฅ + ๊ด๋ จ๋ ๋ค์์ ๋ฐ์ดํฐ
๊ทธ๋ฆฌ๊ณ ๋
๋ฆฝ์ ์คํ ๋จ์์ด๋ค. = Object ๋จ์๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋จ(๋ฉ์๋ ํ๋๋ง ์ฌ์ฉํด๋ ๊ฐ์ฒด๋จ์๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ
๐ค ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํน์ง
์บก์ํ๐ : ์ธ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ถ๋ ๊ฒ
์ถ์ํ๐งฟ : ํน์ฑ์ ์ง์คํ๋๋ก, ์ ๋ฌธ์ฑ์ ๋๋๋ก ์์ธ ๋ด์ญ ์์ ๋ ๊ณผ์ , ๋ณดํธ, ์ผ๋ฐ์ ์ธ ๊ฒ์ ์ ์ธํ๊ณ ๊ฐ์ง์น๊ธฐํ๋ ๊ฒ, ๋ํ ์ผ์ ์ญ์ ํ๋ ๊ฒ. ํจ์๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์ ๋ชฐ๋ผ๋ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ๋ด๋ถ์ ํจ์ ์ฝ๋๋ฅผ ๋ชฐ๋ผ๋ ํจ์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ๊ผญ ํ์ํ ๊ทผ๋ณธ์ ์ธ ํน์ฑ์ ์ง์คํด ์ฌํ์ ๋ถ๋ถ์ด๋ ์์ธ ๋ด์ญ์ ์์ ๋๊ฐ๋ ๊ณผ์ ์ด๋ค.
๋คํ์ฑโป : ์๋ณ์(ํจ์ ์ด๋ฆ, ์ธ์ ํ์ , ๊ฐ์)๋ฅผ ๋น๊ตํ์ฌ ๋ถ๋ฌ์จ๋ค. ํ๋์ ๊ฐ์ฒด๊ฐ ์ฌ๋ฌ ํ์ ์ ๊ฐ์ง ์ ์๋ค๋ ์๋ฏธํ๋ค.
๐ค ํ๋ก์ ํธ ๋ฐฉ๋ฒ๋ก
๋ฐ๋๋ผ์ธ์ ์งํค๋ ๊ฒ์ด ๋น์ฉ์ ์ ๊ฐํ๋ ๊ฒ์ ํฐ ๋์์ด ๋๋ค. ๋ฐ๋ผ์ ํ๋ก์ ํธ๋ฅผ ํจ์จ์ ์ผ๋ก ์งํํ๊ธฐ์ํด ํ๋ก์ ํธ ์งํ ๋ฐฉ๋ฒ๋ก ์ด ํ์ํ๋ค.
๐ ํญํฌ์ ๋ชจ๋ธ (์ด๊ธฐ ๋ชจ๋ธ)
์๊ท๋ชจ์์ ๋ง์ด ์ฌ์ฉ๋๋ค. ๋จ๊ณ๊ฐ ๋๋ ๋๋ง๋ค ์ฐ์ถ๋ฌผโจ ์์ฑํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๊ฐ๋จ ์์ฝ : ์๊ตฌ์ฌํญ ํ์
(what, ๊ธฐํ)[์๊ตฌ์ฌํญ ์ ์์: Use-case Diagram] -> ๋ถ์(how: ์ํคํ
์ฒ, ERD, UI/UX ๋ฑ๋ฑ)[๊ฐ์ ๊ด์ ์ ๋ฐ๋ผ ์ฐ๋ ๋๊ตฌ๊ฐ ๋ค๋ฆ] -> ์ค๊ณ(Design)[Class Diagram] -> ๊ตฌํ -> ํ
์คํธ
๐ ์ ์์ผ ๋ฐฉ๋ฒ๋ก
ํญํฌ์ ๋ชจ๋ธ์ ์๊ฒ ์ชผ๊ฐ์ ์์ ๋จ์๋ก ์ํํ๋ ๊ฒ์ด๋ค.
์ค๊ณ๋ถํฐ ํ ์คํธ๋ฅผ ์ฌ๋ฌ๋ฒ ์ํํ์ฌ ํผ๋๋ฐฑ์ ํตํด ๋ณด์ํ๋ ๋ฐฉ์์ด๋ค.
'๐.๋์ธํ๋ > ๐.์นด์นด์คํด๋ผ์ฐ๋์ค์ฟจ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ์๋ฐ์ ์์๊ณผ ์ถ์ ๋ฉ์๋ (0) | 2023.12.15 |
---|---|
[JAVA] ์๋ฐ ๋ณ์ (0) | 2023.12.14 |
[JAVA] ํด๋์ค์ ๋ฉ๋ชจ๋ฆฌ (0) | 2023.12.13 |
[JAVA] ์ปดํจํฐ์ ๊ตฌ์กฐ ๋ฐ ํ๋ก๊ทธ๋จ ์คํ (0) | 2023.12.12 |
[์นด์นด์คํด๋ผ์ฐ๋์ค์ฟจ] ํฉ๊ฒฉ ํ๊ธฐ (์ง์์, ๋ฉด์ ์ ๋ฆฌ) (2) | 2023.12.01 |