Programing_Java
JAVA#15 _ ๊ฐ์ฒด ์งํฅ ์ธ์ด ๋ณธ๋ฌธ
#1 ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ
: Object-Oriented Programming(OOP)
: ๊ฐ์ฒด๋ฅผ ์งํฅํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ, ๊ฐ์ฒด๋ฅผ ์ค์ฌ์ผ๋ก ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๊ณ ํ๋ก๊ทธ๋๋ฐ ํ๋ ๊ฒ
: ๊ฐ์ฒด → ์ฐ๋ฆฌ ์ค์ํ์ ์กด์ฌํ๋ ๋ชจ๋ ๊ฒ, ์ผ๋ฐ์ ์ผ๋ก ์ํ๋ฅผ ํํํ ์ ์๊ณ ์ฐ๋ฆฌ๊ฐ ํ๋์ผ๋ก ์คํํ ์ ์๋ ๋ชจ๋ ๊ฒ
Ex) ํ์, ์ ์๋, ์ํ, ์์
#2 ํ๋ก๊ทธ๋๋ฐ ์ฐจ์ด์
#2-1 ์ ์ฐจ์งํฅ์ ํ๋ก๊ทธ๋๋ฐ
: ์ผ์ ์์๋๋ก ํ๋ค๋ ๊ฒ
: ์ ์์งํฅ์ ์ด์ง ์์๊ฒ ๋ ๋ง์
#2-2 ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
: ๊ฐ์ฒด๋ผ๋ ๋จ์๋ก ๋ฌธ์ฌ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ์
#3 ๊ฐ์ฒด ์งํฅ ์ธ์ด์ 4๊ฐ์ง ํน์ง โ โ โ โ โ โ โ
1. ์ถ์ํ : ๊ฐ์ฒด๋ค์ ๊ณตํต๋๋ ํน์ง์ ์ฝ๋ฉํ ์ ์๋ค!
โช๏ธ ๊ฐ์ฒด๋ค์ ์ค๊ณ(ํ)๋ฅผ ์ ๊ณตํ ์ ์๋ค!
โช๏ธ Ex) ์ฑํผ์ธ.Q() / ์ฑํผ์ธ.W() / ์ฑํผ์ธ.E() / ์ฑํผ์ธ.R() : ๋ฌด์์ด ๋ค์ด๊ฐ๋์ง์ ๋ฐ๋ผ ํ๋ ์์์ด ๋ฌ๋ผ์ง
2. ์บก์ํ : ์ ๋ณด์๋
2-1. ์๋ก์ด ๊ฒ์ ๊ฐ๋ฐํ ๋, ๊ธฐ์กด์ ๊ฒ์ ๊ทธ๋๋ก ํ์ฉํ ์ ์์
โช๏ธ ๊ธฐ์กด์ ๊ฒ์ด ์ด๋ค ๊ธฐ๋ฅ์ ํ๋์ง๋ง ์๋ฉด๋จ
โช๏ธ ๊ธฐ์กด์ ๊ฒ์ ๋ํ ์ฑ๋ถ ๋ถ์์ ํ์์์ง๋ง ์๋ฉด ์ข์
2-2. ๊ฐ๋ฐ ์ดํ ์ด์๊ฐ ๋ฐ์ํ์ ๋, ์ ํฉ ๋ถ๋ถ๋ง ๊ฒ์ฌ
โช๏ธ ๊ฐ๋ฐ ์๊ฐ, ๋น์ฉ ๋จ์ถ
โช๏ธ โ ์ ์ง๋ณด์์ฉ์ด โ
3. ์์ : ๊ฐ๋ฐ์ด ์๋ฃ๋ ์ฝ๋๋ฅผ ์๋ก ๊ฐ๋ฐํ๋ ์ฝ๋์ ์ ๋ถ ๊ฐ์ ธ์ฌ ์ ์์
4. ๋คํ์ฑ : ํจ์(๋ฉ์๋)๋ฅผ ์ํํ๋ "์ฃผ์ฒด(์ฃผ์ด, ๋์)"๊ฐ ์ด๋ค ๊ฐ์ฒด๋ ์ธ์ง์ ๋ฐ๋ผ ๋ค๋ฅธ ์ํ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ์ ์์
↓
add(); → ์ ์ฐจ์งํฅ์ธ์ด์์๋ ํจ์ ์ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๊ฟ ์ ์๋ค
๊ฐ์์ง.์ธ์(); - ๋ฉ๋ฉ → ํจ์ ์์ ๋์. ์ด ๋ถ์
๊ณ ์์ด.์ธ์(); - ์ผ์น → ๊ฐ์ฒด์งํฅ์ธ์ด์์๋ ๋ฉ์๋ ์ํ ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅผ ์ ์๋ค
๊ฐ์ฒด ์งํฅ ์ธ์ด๋? "๋ฉ์๋์๊ฒ ์ฃผ์ด(์ฃผ์ฒด)๊ฐ ์๊ธฐ๋ ๊ฒ์ด๋ค."
#4 ์์ฑ์
: ์ธ์๊ฐ ์๋ ์์ฑ์ == ๊ธฐ๋ณธ ์์ฑ์ == ๋ํดํธ ์์ฑ์
โช๏ธ Java์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํด์ค. ๋ด๋ถ์ ์ด๋ฏธ ์ ์ธ์ด ๋์ด ์๊ธฐ ๋๋ฌธ์, ์ ์ธ์ ์ํด๋ ์ธ ์ ์๋ ์ ์ผํ ํจ์
'๐ป JAVA_' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JAVA#17 _ ๊ฐ์ฒด this(), static ์ ๋ฆฌ (1) | 2025.01.13 |
---|---|
JAVA#16 _ ๊ฐ์ฒด ์งํฅ ์ธ์ด ๋ฌธ์ ์ฐ์ต (0) | 2025.01.12 |
JAVA#14 _ MVC Pattern (0) | 2025.01.09 |
JAVA#13 _ ์ ํ์ ๋ ฌ๊ณผ ํจ์ํ (0) | 2025.01.08 |
JAVA#12 _ ํจ์ (0) | 2025.01.07 |