CS

ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด

moaoh 2024. 12. 14. 07:52

oop๋ฅผ ์ •๋ฆฌํ•˜๊ธฐ์— ์•ž์„œ ์šฉ์–ด๋“ค์˜ ์ •๋ฆฌ๊ฐ€ ํ™•์‹คํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ง€์ง€์•Š๋Š”๊ฑฐ๊ฐ™์•„ class, instance, object๋“ค์— ๋Œ€ํ•œ ๊ฐœ๋…์ •๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค.


ํด๋ž˜์Šค (class)

๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ…œํ”Œ๋ฆฟ ๋˜๋Š” ์ฒญ์‚ฌ์ง„

๋ฌด์—‡์ธ๊ฐ€์˜ ๋ชจ์ž„, ์ง‘ํ•ฉ์ฒด

๊ฐ์ฒด๋ฅผ ์„œ์ˆ ํ•˜๋Š” ๋ฌธ๋ฒ•

// cpp

class Color {
	...
}
// ์œ„์— ์ฝ”๋“œ์™€ ๊ฐ™์ด object or instance๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ์œ„ํ•œ ํ‹€์˜ ๊ฐœ๋…์„ class๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค.

 


์ธ์Šคํ„ด์Šค (instance)

ํด๋ž˜์Šค๋กœ ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ ๊ตฌ์ฒด์ ์ธ ๊ฐ์ฒด

class Color {
	...
}

Color Blue; 
Color Grean; 
// ์ฆ‰ Blue, Grean ๊ฐ™์€ ๊ฒƒ๋“ค์„ ๊ฐ์ฒด(object)๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค.

๊ฐ์ฒด (object)

ํฌ๊ด„์ ์ธ ์ผ๋ฐ˜ ๋ช…์‚ฌ

๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ฌผ์ด๋“  ์ถ”์ƒ์ ์ธ ๊ฐœ๋…

๋…๋ฆฝ์ , ์˜์†์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ์ง€์นญํ•˜๋Š”, ํฌ๊ด„์ ์ธ ์ผ๋ฐ˜ ๋ช…์‚ฌ

class๋„ ๊ฐ์ฒด์ธ๊ฐ€?

๊ทธ๋ ‡๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. meta object ๊ฐœ๋…์— ํ•ด๋‹นํ•œ๋‹ค.

instance๋„ ๊ฐ์ฒด์ธ๊ฐ€?

์ธ์Šคํ„ด์Šค๋Š” class์˜ ์ •์˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ๋งŒ๋“ค์–ด์ง„ ์‹ค์ฒด์ด๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ “๊ฐ์ฒด”๋ผ๊ณ  ๋ถ€๋ฅผ ๋•Œ ๋ฐ”๋กœ ์ด ์ธ์Šคํ„ด์Šค๋ฅผ ์ง€์นญํ•ฉ๋‹ˆ๋‹ค.

 

์ฆ‰ ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค์™€ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ๋” ๋„“์€ ๊ฐœ๋…์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋น„์œ 

Class: ์ฟ ํ‚ค ํ‹€

Instance: ์ฟ ํ‚ค ํ‹€๋กœ ๋งŒ๋“  ์ฟ ํ‚ค

Object: ๋ชจ๋“  ์ฟ ํ‚ค์™€ ์ฟ ํ‚ค ํ‹€์„ ํฌํ•จํ•œ ํฌ๊ด„์  ๊ฐœ๋…


https://www.youtube.com/watch?v=alZBfnOiZQw&ab_channel=%EB%84%90%EB%84%90%ED%95%9C%EA%B0%9C%EB%B0%9C%EC%9E%90TV