๐Ÿš์‰ฌ์šด ๋น„์œ ๋กœ ์ดํ•ดํ•˜๋Š” ๊ฐ์ฒด์ง€ํ–ฅ(feat . ๊น€์น˜์ฐŒ๊ฐœ)

SUUUIยท2025๋…„ 4์›” 5์ผ

java

๋ชฉ๋ก ๋ณด๊ธฐ
9/16

โ€ผ๏ธ ๊น€์น˜์ฐŒ๊ฐœ๋กœ ์ดํ•ดํ•˜๋Š” ๊ฐ์ฒด์™€ ํด๋ž˜์Šค

์ง€๊ธˆ๋ถ€ํ„ฐ ๋‹น์‹ ์€ ์ œ 2์˜ ๋ฐฑ์ข…์›์ด๋‹ค .
๊น€์น˜์ฐŒ๊ฐœ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๊น€์น˜๋„ ํ•„์š”ํ•˜๊ณ  ์•ผ์ฑ„๋„ ํ•„์š”ํ•˜๊ณ ,,๊ณ ์ถง๊ฐ€๋ฃจ๋„ ํ•„์š”ํ•˜๋‹ค !
๋ฌด์—‡๋ณด๋‹ค ๋ ˆ์‹œํ”ผ๊ฐ€ ์žˆ์–ด์•ผ ๊น€์น˜์ฐŒ๊ฐœ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

Class

: ๊น€์น˜์ฐŒ๊ฐœ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์žฌ๋ฃŒ๊ณผ ๊ณผ์ •์ด ๋‹ด๊ธด ๋ ˆ์‹œํ”ผ์ด๋‹ค .
์—ฌ๊ธฐ์—” ์žฌ๋ฃŒ๋“ค(๋งค๊ฐœ๋ณ€์ˆ˜) ๊ณผ ์š”๋ฆฌ๋˜๋Š” ๊ณผ์ •(๋ฉ”์„œ๋“œ) ์ด ๋‹ด๊ฒจ์ ธ ์žˆ๋‹ค

Object(๊ฐ์ฒด)

: ๋ ˆ์‹œํ”ผ๋ฅผ ๋ณด๊ณ  ๋”ฐ๋ผํ•˜๋‹ค ๋ณด๋‹ˆ ์กด๋ง›ํƒฑ ๊น€์น˜์ฐŒ๊ฐœ๊ฐ€ ์™„์„ฑ๋๋‹ค!
์™„์„ฑ๋œ ๊น€์น˜์ฐŒ๊ฐœ๋ฅผ ๋ƒ‰์žฅ๊ณ ์— ๋ณด๊ด€ํ•˜๊ณ  ์‹ถ์–ด์„œ ๋ƒ‰์žฅ๊ณ  1๋ฒˆ์งธ ์นธ์— ๋ณด๊ด€ํ–ˆ๋‹ค

์ฐธ์กฐ๋ณ€์ˆ˜

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

Heap

: ์Œ์‹์ด ์ƒํ•˜๋ฉด ์•ˆ๋˜๋‹ˆ๊นŒ ๋‹น์—ฐํžˆ ๋ƒ‰์žฅ๊ณ ์— ๋ณด๊ด€ํ•ด์•ผ์ง€!! ์˜ค๋ž˜๋œ ์•ˆ๋จน๋Š” ์Œ์‹์€ ์–ด์ฐจํ”ผ ๋ฒ„๋ฆด๊ฑฐ๋‹ˆ๊นŒ~~(๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜)

Stack

: ๋‚ด ์ž์ทจ๋ฐฉ์ด ์ข€ ๋งŽ์ด ๋”๋Ÿฌ์›Œ์„œ ๊น€์น˜์ฐŒ๊ฐœ์˜ ์œ„์น˜๋ฅผ ์ ์–ด๋†“์€ ๋ฉ”๋ชจ์žฅ์€ ๊นŒ๋จน์ง€ ์•Š๋„๋ก ๋”ฐ๋กœ ๋ณด๊ด€์„ ํ•ด์•ผ๊ฒ ๋‹ค
๊น€์น˜์ฐŒ๊ฐœ๋Š” ๋ƒ‰์žฅ๊ณ (Heap) 1๋ฒˆ์งธ ์นธ์— ์žˆ๊ณ  ~~ , ๋ฉ”๋ชจ์žฅ์€ ์ฑ…์ƒ์œ„(Stack) ์— ๋ณด๊ด€ํ•ด ๋‘๋„๋ก ํ•˜์ž!

์บก์Аํ™”

: ์•„๋ฟ”์‹ธ! ์š”๋ฆฌ๋ฅผ ๊ทธ๋ƒฅ ๋ณด๊ด€ํ–ˆ๋‹ค๊ฐ„ ์ƒํ• ์ˆ˜๋„ ์žˆ๊ณ  , ๋ฌด์—‡๋ณด๋‹ค ์šฐ๋ฆฌ์ง‘ ๊ณ ์–‘์ด๊ฐ€ ํ›”์ณ๋จน์„์ˆ˜๋„ ์žˆ๊ฒ ์–ด!(์ ‘๊ทผ ์ œ์–ด์ž) ์ด ์‚ฌํƒœ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ€ํ์šฉ๊ธฐ(์บก์Аํ™”) ์— ๋„ฃ์–ด๋†“๊ณ , ๋‚ด๊ฐ€ ํ•„์š”ํ• ๋•Œ๋งŒ ๊บผ๋‚ด์–ด ๋จน๊ฒŒ ๋šœ๊ป‘(Getter, Setter) ์„ ๋‹ฌ์•„๋†“์ž!

์ƒ์†(Inheritance)

: ์ด ๊น€์น˜์ฐŒ๊ฐœ ๋ ˆ์‹œํ”ผ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ผ๊ฒน ๊น€์น˜์ฐŒ๊ฐœ , ์ŠคํŒธ ๊น€์น˜์ฐŒ๊ฐœ ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊ฑฐ ๊ฐ™์€๊ฑธ?
๊ทผ๋ณธ์€ ๊น€์น˜์ฐŒ๊ฐœ ๋ ˆ์‹œํ”ผ(๋ถ€๋ชจ ํด๋ž˜์Šค) ๊ณ  ์—ฌ๊ธฐ์„œ ๋ ˆ์‹œํ”ผ๋ฅผ ์ŠคํŒธ๊น€์น˜์ฐŒ๊ฐœ(์ž์‹ ํด๋ž˜์Šค) ๋กœ ํ™•์žฅ์‹œ์ผœ๋ณด์ž! ๋‚˜๋„ ๋ฐฑ์ข…์›์ด ๋˜์–ด ๋ณด๊ฒ ์–ด !

๋‹คํ˜•์„ฑ (Polymorphism)

: 1๋…„๋’ค ๊น€์น˜์ฐŒ๊ฐœ ์›์กฐ ๋ ˆ์‹œํ”ผ๋Š” ์—„์ฒญ ์œ ๋ช…ํ•ด์ ธ์„œ ์ „์„ธ๊ณ„์— ํผ์กŒ๋‹ค ..
K ์Šคํƒ€์ผ ๊น€์น˜์ฐŒ๊ฐœ ๋ ˆ์‹œํ”ผ์ง€๋งŒ ๊ณ ์ถ”์žฅ์„ ๋„ฃ์–ด ์–‘๋…์„ ํ•˜๋Š”๊ณผ์ •(๋ฉ”์„œ๋“œ ์ด๋ฆ„) ์„
๋ฏธ๊ตญ์—์„œ๋Š” ๊ณ ์ถ”์žฅ ๋Œ€์‹  ์บก์‚ฌ์ด์‹ ์„ ๋„ฃ๊ณ  ,, ์ค‘๊ตญ์—์„œ๋Š” ๊ณ ์ถ”๊ธฐ๋ฆ„์„ ๋„ฃ์–ด์„œ ์š”๋ฆฌ๋ฅผ ์žฌํ•ด์„ ํ–ˆ๋”๋ผ
๊ทธ๋ž˜์„œ ์•„์˜ˆ ๊น€์น˜์ฐŒ๊ฐœ ๋ ˆ์‹œํ”ผ๊ฐ€ ์ƒˆ๋กญ๊ฒŒ ๋‚˜์™”๋”๋ผ (์˜ค๋ฒ„๋ผ์ด๋”ฉ)

์ธํ„ฐํŽ˜์ด์Šค (Interface)

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

์ถ”์ƒํ™” (Abstraction)

: ๋‚ด ์š”๋ฆฌ๋ฅผ ์ผ์ผํžˆ ๋ณต์žกํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ธฐ ๊ท€์ฐฎ์œผ๋‹ˆ ์ด์ œ ๋Œ€์ถฉ ๋ด๋„ ๋А๋‚Œ์ด ์˜ค๊ฒŒ ๊ฐ„๋‹จํ•œ ๋‹จ๊ณ„๋กœ ์š”์•ฝํ•ด์•ผ๊ฒ ๋‹ค !
๋Œ€์ถฉ ์ฑ„์†Œ๋ฅผ ์ฌ๋‹ค -> ์–‘๋…์„ ํ•œ๋‹ค -> ๋“์ธ๋‹ค(์ถ”์ƒํด๋ž˜์Šค, ์ธํ„ฐํŽ˜์ด์Šค) ์ด ์ •๋„๋กœ๋งŒ ์ ์–ด๋†“๊ณ  ์ด ์š”๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์€ ์•Œ์•„์„œ ์—ฐ๊ตฌํ•˜๋ผ๊ณ  ํ•ด์•ผ๊ฒ ๋‹ค ํ•˜ํ•˜ํ•˜! ๊ทธ๋Ÿผ ์ „ ์„ธ๊ณ„ ์‚ฌ๋žŒ๋“ค์ด ์ž…๋ง›์— ๋งž๊ฒŒ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ํ•  ์ˆ˜ ์žˆ์„๊ฑฐ์•ผ!!!

profile
๊ฐ„๋‹จํ•œ ๊ฐœ๋ฐœ ๊ธฐ๋ก

0๊ฐœ์˜ ๋Œ“๊ธ€