Language/JAVA

[JAVA] ๊ฐ์ฒด(Object)๋ž€?

๊ต ๋ฏผ 2024. 8. 16. 14:42

 

๐Ÿ“Œ ๊ฐ์ฒด : ํด๋ž˜์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค๋กœ, ํ˜„์‹ค ์„ธ๊ณ„์˜ ์‚ฌ๋ฌผ์ด๋‚˜ ๊ฐœ๋…์„ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ

   →  ํด๋ž˜์Šค์— ์ •์˜๋œ ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋งŒ๋“  ์‹ค์ฒด.

 

์‹ค์ฒด, ์ฃผ์ฒด, ๊ฐ์ฒด
  • ์‹ค์ฒด : ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š” ๊ฒƒ
  • ์ฃผ์ฒด : '๋‚˜'๋ผ๋Š” ์‹ค์ฒด๋ฅผ 1์ธ์นญ์œผ๋กœ ๋ณด๋Š” ์ด๋ฆ„
  • ๊ฐ์ฒด : ์ฃผ์ฒด์ธ ๋‚ด๊ฐ€ ๋‹ค๋ฅธ ์ฃผ์ฒด(ํƒ€์ธ)์„ ๋ถ€๋ฅด๋Š” ์ด๋ฆ„.
    → ๋ณธ์ธ ์ด์™ธ์˜ ๋‹ค๋ฅธ ์‹ค์ฒด

 

๊ฐ์ฒด์˜ ๊ตฌ์„ฑ์š”์†Œ
  • ์†์„ฑ(๋ฐ์ดํ„ฐ, ํ•„๋“œ) + ํ–‰๋™(๋ฉ”์„œ๋“œ)
    • ์†์„ฑ : ๊ฐ์ฒด์ด์ž ์‹ค์ฒด๊ฐ€ ์Šค์Šค๋กœ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ํŠน์ง•
    • ํ–‰๋™ : ๊ฐ์ฒด์ด์ž ์‹ค์ฒด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์—ญ๋Ÿ‰์ด๋‚˜ ๋™์ž‘

 

ํด๋ž˜์Šค์™€ ๊ฐ์ฒด์˜ ๊ด€๊ณ„

 

ํด๋ž˜์Šค : ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์„ค๊ณ„๋„

  • ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์—์„œ ์—ฌ๋Ÿฌ ๊ฐ์ฒด ์ƒ์„ฑ ๊ฐ€๋Šฅ
  • ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด์˜ ๊ฐœ์ฒด์˜ ์†์„ฑ(ํ•„๋“œ)์™€ ๋ฉ”์„œ๋“œ(๋™์ž‘)์„ ์ •์˜ํ•œ๋‹ค.
// ํด๋ž˜์Šค ์ •์˜
class Car {
    String brand;   // ์†์„ฑ(ํ•„๋“œ)
    int speed;      // ์†์„ฑ(ํ•„๋“œ)

    // ํ–‰๋™(๋ฉ”์„œ๋“œ)
    void accelerate() {
        speed += 10;
        System.out.println("The car is accelerating. Current speed: " + speed);
    }
}

 

๊ฐ์ฒด์˜ ํŠน์ง•
  • ์‹๋ณ„์„ฑ : ๊ฐ ๊ฐ์ฒด๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์—์„œ ๊ณ ์œ ํ•œ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๋ฉฐ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด๋Š” ๊ฐ™์€ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋˜๋”๋ผ๋„ ๊ฐœ๋ณ„์ ์œผ๋กœ ์กด์žฌํ•œ๋‹ค.
  • ํ–‰๋™ : ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค์— ์ •์˜๋œ ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ํ–‰๋™์„ ์ˆ˜ํ–‰ํ•œ๋‹ค
  • ์ƒํƒœ : ๊ฐ์ฒด๋Š” ์†์„ฑ์„ ํ†ตํ•ด ์ž์‹ ์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

๊ฐ์ฒด vs ์ธ์Šคํ„ด์Šค
  • ๊ฐ์ฒด(Object) : ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š” ๊ตฌ์ฒด์ ์ธ ์‹ค์ฒด
  • ์ธ์Šคํ„ด์Šค(Instance) :  ํŠน์ • ํด๋ž˜์Šค์—์„œ ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด

โœ”๏ธ ์ž๋ฐ”์—์„œ ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋กœ์„œ, ํด๋ž˜์Šค์— ์ •์˜๋œ ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋งŒ๋“  ์‹ค์ฒด์ด๋‹ค. ํ•˜์ง€๋งŒ ๋‘˜ ๋‹ค ํด๋ž˜์Šค์—์„œ ๋‚˜์˜จ ์‹ค์ฒด๋ผ๋Š” ํ•ต์‹ฌ์˜๋ฏธ๋Š” ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํ†ต ๋‘˜์„ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•œ๋‹ค.