ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

 

๊ฐ์ฒด๋ž€? 

์ž์‹ ์˜ ์ƒํƒœ๋ฅผ ๊ฐ€์ง€๋ฉฐ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐœ์ฒด

 

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?

ํ”„๋กœ๊ทธ๋žจ์„ ๋ช…๋ น์–ด์˜ ๋ชฉ๋ก์œผ๋กœ ๋ณด๋Š” ์‹œ๊ฐ์—์„œ ๋ฒ—์–ด๋‚˜,

์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ๋œ ๋‹จ์œ„์ธ ๊ฐ์ฒด๋“ค์˜ ๋ชจ์ž„์œผ๋กœ ํŒŒ์•…ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ฐ๊ฐ์˜ ๊ฐ์ฒด๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ”„๋กœ๊ทธ๋žจ์„ ์œ ์—ฐํ•˜๊ณ  ๋ณ€๊ฒฝ์ด ์šฉ์ดํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์—, ๋Œ€๊ทœ๋ชจ ๊ฐœ๋ฐœ์— ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

 

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•

1. ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ณธ์ ์ธ ๋นŒ๋”ฉ ๋ธ”๋ก์œผ๋กœ

2. ๊ฐ ๊ฐ์ฒด๋Š” ์–ด๋–ค ํƒ€์ž…(ํด๋ž˜์Šค)์˜ ์ธ์Šคํ„ด์Šค

3. ํด๋ž˜์Šค๋Š” ์ƒ์†(inheritance)์œผ๋กœ ์—ฐ๊ด€

 

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŠน์ง•

 

1. ์บก์Šํ™”(Encapsulation) ๐Ÿ’Š

์„œ๋กœ ๊ด€๋ จ์žˆ๋Š” ๋ฐ์ดํ„ฐ์™€ ํ•จ์ˆ˜๋ฅผ ๊ฐ์ฒด ์•ˆ์— ํ•˜๋‚˜๋กœ ๋ฌถ๊ณ 

์™ธ๋ถ€์—์„œ ๋ณด์ผ ํ•„์š”๊ฐ€ ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ์ˆจ๊ฒจ๋†“์Œ (์ •๋ณด ์€๋‹‰)

 

2. ์ถ”์ƒํ™”(Data Abstraction)  ๐ŸŽฎ

์™ธ๋ถ€์—์„œ๋Š” ๋‚ด๋ถ€๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ , ๋™์ž‘ํ•˜๋Š”์ง€ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ณ 

ํ•„์š”ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ๋˜๋Š” ํ•จ์ˆ˜๋งŒ ๋…ธ์ถœํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ

 

3. ์ƒ์†(Inheritance) ๐Ÿ‘ฉ‍๐Ÿ‘ง‍๐Ÿ‘ฆ

์—ฐ๊ด€๋œ ํด๋ž˜์Šค ๊ฐ„์— ์ƒํ•˜์œ„ ์—ฐ๊ด€์„ฑ์„ ๋‘์–ด ํด๋ž˜์Šค๋ฅผ ์„ ์–ธ

๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ์™€ ํ•จ์ˆ˜๋ฅผ ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ์žฌ์‚ฌ์šฉํ•˜๊ณ , ์ถ”๊ฐ€๋กœ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์€ ์ž์‹ ๋‚˜๋ฆ„๋Œ€๋กœ ์ถ”๊ฐ€ํ•ด์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•จ.

 

4. ๋‹คํ˜•์„ฑ(Polymorphism) ๐Ÿ˜บ๐Ÿถ๐Ÿท๐Ÿฐ

๊ฐ์ฒด๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ  '์—ญํ• '๊ณผ '๊ตฌํ˜„'์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•œ๋‹ค.

 

์—ญํ•  = ์ธํ„ฐํŽ˜์ด์Šค

๊ตฌํ˜„ = ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค, ๊ตฌํ˜„ ๊ฐ์ฒด

 

์ฆ‰, ๊ฐ์ฒด๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ์—ญํ• (์ธํ„ฐํŽ˜์ด์Šค)์„ ๋จผ์ € ๋ถ€์—ฌํ•˜๊ณ , ๊ทธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ตฌํ˜„ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ ๋‹ค.

 

๋‹คํ˜•์„ฑ์˜ ๋ณธ์งˆ์€

์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค๋ฅผ ์‹คํ–‰ ์‹œ์ ์— ์œ ์—ฐํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ.

์ฆ‰, ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ , ์„œ๋ฒ„์˜ ๊ตฌํ˜„ ๊ธฐ๋Šฅ์„ ์œ ์—ฐํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

 

overRiding - ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ๋‹ค๋ฅธ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•จ.

overLoading - ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ Parameter ์˜ ํ˜•ํƒœ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•จ.

 


ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•ด ํ•จ์ˆ˜ ๋‹จ์œ„๋กœ ์—ฎ์–ด ๊ฐ€๋Š” ๊ฒƒ์„ 'ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ'์ด๋ผ๊ณ  ํ•œ๋‹ค.

ํŠน์ •ํ•œ ์ผ์„ ํ•˜๋Š” ํ•จ์ˆ˜๋“ค ๋ผ๋ฆฌ ์—ฎ์–ด๋†“๊ณ , ์—ฐ๊ฒฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ธ ๊ฒƒ์ด๋‹ค.

 

ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ ์ˆœ์ˆ˜ํ•จ์ˆ˜๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

์ˆœ์ˆ˜ํ•จ์ˆ˜๋ž€ ํ•จ์ˆ˜ ์•ˆ์—์„œ ๋ถˆ๋ณ€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

๋ถˆ๋ณ€์„ฑ์€ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ์ฃผ์–ด์ง„ parameter์˜ ๊ฐ’ ๋˜๋Š” ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•„์•ผ ํ•จ์„ ๋œปํ•œ๋‹ค.

๊ฐ’ ๋˜๋Š” ์ƒํƒœ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” ์ƒˆ๋กœ์šด ๊ฐ’ ๋˜๋Š” ๊ฐ์ฒด(Object)๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.

์ˆœ์ˆ˜ํ•จ์ˆ˜๋กœ ๋งŒ๋“ฆ์œผ๋กœ์„œ ์—๋Ÿฌ๋„ ์ค„์ด๊ณ , ๊ฐ€๋…์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

 

ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŠน์ง•


1. ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„ ํŒŒ์•…์— ์œ ๋ฆฌ

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

 

2. ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ
์–ด๋–ค ์Šคํ…์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ์„ ๊ฐ ์†Œ์Šค๋งˆ๋‹ค ์ค‘๋ณตํ•ด์„œ ๋„ฃ์–ด์ค€๋‹ค๋ฉด ์ˆ˜์ •ํ•  ๋•Œ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ผ์ผ์ด ๋ณ€๊ฒฝํ•ด์ค˜์•ผํ•˜๋Š” ๋ถˆํŽธํ•จ.

ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋น„ํšจ์œจ์„ฑ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

3. ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ
๊ฐ๊ฐ ํ•จ์ˆ˜ ๋‹จ์œ„๋กœ ๋‹ด๋‹น์ž๊ฐ€ ์ง€์ •๋˜์–ด์„œ ๊ฐœ๋ฐœํ•œ๋‹ค๋ฉด ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ์ด ์ข‹์•„์ง€๊ณ , (ํ•ด๋‹น ๊ธฐ๋Šฅ์—๋งŒ ์ง‘์ค‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์—), ์ˆ˜์ •ํ•˜๊ธฐ๊ฐ€ ์šฉ์ดํ•˜๋‹ค.

 

 

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ