๐ ๊ฐ์ฒด : ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ ์ธ์คํด์ค๋ก, ํ์ค ์ธ๊ณ์ ์ฌ๋ฌผ์ด๋ ๊ฐ๋ ์ ์ํํธ์จ์ด๋ก ํํํ ๊ฒ
→ ํด๋์ค์ ์ ์๋ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ ์ ์๋ ํํ๋ก ๋ง๋ ์ค์ฒด.
์ค์ฒด, ์ฃผ์ฒด, ๊ฐ์ฒด
- ์ค์ฒด : ์ค์ ๋ก ์กด์ฌํ๋ ๊ฒ
- ์ฃผ์ฒด : '๋'๋ผ๋ ์ค์ฒด๋ฅผ 1์ธ์นญ์ผ๋ก ๋ณด๋ ์ด๋ฆ
- ๊ฐ์ฒด : ์ฃผ์ฒด์ธ ๋ด๊ฐ ๋ค๋ฅธ ์ฃผ์ฒด(ํ์ธ)์ ๋ถ๋ฅด๋ ์ด๋ฆ.
→ ๋ณธ์ธ ์ด์ธ์ ๋ค๋ฅธ ์ค์ฒด
๊ฐ์ฒด์ ๊ตฌ์ฑ์์
- ์์ฑ(๋ฐ์ดํฐ, ํ๋) + ํ๋(๋ฉ์๋)
- ์์ฑ : ๊ฐ์ฒด์ด์ ์ค์ฒด๊ฐ ์ค์ค๋ก๋ฅผ ๋ํ๋ผ ์ ์๋ ํน์ง
- ํ๋ : ๊ฐ์ฒด์ด์ ์ค์ฒด๊ฐ ํ ์ ์๋ ์ญ๋์ด๋ ๋์
ํด๋์ค์ ๊ฐ์ฒด์ ๊ด๊ณ
ํด๋์ค : ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ค๊ณ๋
- ํ๋์ ํด๋์ค์์ ์ฌ๋ฌ ๊ฐ์ฒด ์์ฑ ๊ฐ๋ฅ
- ํด๋์ค๋ ๊ฐ์ฒด์ ๊ฐ์ฒด์ ์์ฑ(ํ๋)์ ๋ฉ์๋(๋์)์ ์ ์ํ๋ค.
// ํด๋์ค ์ ์
class Car {
String brand; // ์์ฑ(ํ๋)
int speed; // ์์ฑ(ํ๋)
// ํ๋(๋ฉ์๋)
void accelerate() {
speed += 10;
System.out.println("The car is accelerating. Current speed: " + speed);
}
}
๊ฐ์ฒด์ ํน์ง
- ์๋ณ์ฑ : ๊ฐ ๊ฐ์ฒด๋ ๋ฉ๋ชจ๋ฆฌ ๋ด์์ ๊ณ ์ ํ ์ฃผ์๋ฅผ ๊ฐ์ง๋ฉฐ ์๋ก ๋ค๋ฅธ ๊ฐ์ฒด๋ ๊ฐ์ ํด๋์ค๋ก๋ถํฐ ์์ฑ๋๋๋ผ๋ ๊ฐ๋ณ์ ์ผ๋ก ์กด์ฌํ๋ค.
- ํ๋ : ๊ฐ์ฒด๋ ํด๋์ค์ ์ ์๋ ๋ฉ์๋๋ฅผ ํตํด ํ๋์ ์ํํ๋ค
- ์ํ : ๊ฐ์ฒด๋ ์์ฑ์ ํตํด ์์ ์ ์ํ๋ฅผ ๋ํ๋ธ๋ค.
๊ฐ์ฒด vs ์ธ์คํด์ค
- ๊ฐ์ฒด(Object) : ์ํํธ์จ์ด์์ ์ค์ ๋ก ๋์ํ๊ณ ์๋ ๊ตฌ์ฒด์ ์ธ ์ค์ฒด
- ์ธ์คํด์ค(Instance) : ํน์ ํด๋์ค์์ ๋ง๋ค์ด์ง ๊ฐ์ฒด
โ๏ธ ์๋ฐ์์ ๊ฐ์ฒด๋ ํด๋์ค์ ์ธ์คํด์ค๋ก์, ํด๋์ค์ ์ ์๋ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ ์ ์๋ ํํ๋ก ๋ง๋ ์ค์ฒด์ด๋ค. ํ์ง๋ง ๋ ๋ค ํด๋์ค์์ ๋์จ ์ค์ฒด๋ผ๋ ํต์ฌ์๋ฏธ๋ ๊ฐ๊ธฐ ๋๋ฌธ์ ๋ณดํต ๋์ ๊ตฌ๋ถํ์ง ์๊ณ ์ฌ์ฉํ๋ค.
'Language > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ๋ฉ๋ชจ๋ฆฌ ์์ญ (0) | 2024.08.25 |
---|---|
[JAVA] ์ค๋ ๋(Thread) ์๋ฏธ์ ์ฌ์ฉ๋ฒ (4) | 2024.08.24 |
[JAVA] ์ถ์ ํด๋์ค์ ์ธํฐํ์ด์ค (0) | 2024.08.19 |
[JAVA] static์ ์๋ฏธ์ ์ฌ์ฉ๋ฒ (0) | 2024.08.19 |
[JAVA] ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ 4๊ฐ์ง ํน์ง - ์บก์ํ, ์์์ฑ, ๋คํ์ฑ, ์ถ์ํ (1) | 2024.08.16 |