์ธํŒŒ

You Can Become A

๋Šฆ๊ฒŒ ์‹œ์ž‘ํ•ด๋„ ๋ˆ„๊ตฌ๋“ ์ง€ ๋…ธ๋ ฅํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ ์ˆ˜ ์žˆ์–ด์š” !

์ƒ์†

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค
OOP

๐Ÿ’  ์ƒ์†์„ ์ž์ œํ•˜๊ณ  ํ•ฉ์„ฑ(Composition)์„ ์ด์šฉํ•˜์ž

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

category_image
์ธํŒŒ_
2022.10.24
8
OOP

๐Ÿ’  ๊ฐ์ฒด ์ง€ํ–ฅ ๊ฐœ๋…๊ณผ ์ถ”์ƒํ™” ์™„๋ฒฝ ์ดํ•ดํ•˜๊ธฐ

๊ฐ์ฒด ์ง€ํ–ฅ(OOP) ๊ฐœ๋…๊ณผ ํŠน์ง• ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ด๋ž€, ๋งŽ์€ ๊ฐ์ฒด(Objcet)๋“ค์ด ๋ชจ์—ฌ์„œ ์ƒํ˜ธ ํ˜‘๋ ฅํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ค๊ณ„ ๋ฐฉ๋ฒ•์„ ์ผ์ปซ๋Š”๋‹ค. ์ข€๋” ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด, ํ”„๋กœ๊ทธ๋žจ์„ ๋ฌถ์Œ ๋‹จ์œ„๋กœ ์ž˜๊ฒŒ ์ชผ๊ฐœ์„œ, ์ถ”ํ›„์— ๊ฐ€์ ธ๋‹ค ์“ฐ๊ธฐ ํŽธํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ๋†“์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ์ด์ฒ˜๋Ÿผ ๋ ˆ๊ณ  ๋ธ”๋Ÿญ ์กฐ๋ฆฝํ•˜๋“ฏ์ด ์ปดํฌ๋„ŒํŠธ๋ฅผ ์œ ์—ฐํ•˜๊ณ  ๋ณ€๊ฒฝ์ด ์šฉ์ดํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ˜„์—…์—์„œ ๋Œ€๊ทœ๋ชจ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ ๋งŽ์ด ์•Œ๋ ค์ง„ Java์–ธ์–ด๋ฅผ ํฌํ•จํ•˜์—ฌ Ruby Python, C++, Objectivc-C, C#, Kotlin ๋“ฑ์ด ๋ชจ๋‘ ๊ฐ์ฒด์ง€ํ–ฅ ์š”์†Œ๋ฅผ ๊ฐ€์ง„ ์–ธ์–ด์ด๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ ์ „๋žต์€ ๊ผญ ๋ฐ˜๋“œ์‹œ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด(Java, kotlin ๋“ฑ)์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋‚˜ ..

category_image
์ธํŒŒ_
2022.10.18
7
Java

โ˜• ์ถ”์ƒ ํด๋ž˜์Šค(Abstract) ์šฉ๋„ ์™„๋ฒฝ ์ดํ•ดํ•˜๊ธฐ

์ถ”์ƒ ํด๋ž˜์Šค ์™€ ์ถ”์ƒํ™” ์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ ๊นŒ์ง€ ์‚ฌ์šฉํ•ด์™”๋˜ ์ผ๋ฐ˜์ ์ธ ํด๋ž˜์Šค๋Š” ๊ตฌ์ฒด์ (concrete)์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„ ์ธ์Šคํ„ด์Šคํ™” ํ•˜์—ฌ ์ง์ ‘ ๋‹ค๋ฃจ๋Š” ํด๋ž˜์Šค์ด๋‹ค. ๊ทธ ๋ฐ˜๋Œ€๋กœ ์ถ”์ƒ ํด๋ž˜์Šค๋Š” ๊ตฌ์ฒด์ ์ด์ง€ ์•Š์€ ์ถ”์ƒ์ ์ธ(abstract) ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ถ”์ƒ ํด๋ž˜์Šค๋Š” ์ผ๋ฐ˜ ํด๋ž˜์Šค์™€ ๋‹ฌ๋ฆฌ ์ธ์Šคํ„ด์Šค ํ™”๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ํด๋ž˜์Šค์ด๋ฉฐ, ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ์„ ์–ธ ํ• ๋•Œ๋Š” abstract ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ฐจ์ด์ ์ด ์žˆ๋‹ค๊ณ  ๋งํ•˜๊ณค ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ฐฉ๊ฐํ•˜์ง€ ๋ง์•„์•ผ ํ•  ๊ฒƒ์ด, ์ถ”์ƒํด๋ž˜์Šค์˜ ๋ฌธ๋ฒ•์ ์ธ ํŠน์ง•์ด๋‚˜ ๊ฐ์ฒด ์ƒ์„ฑ์ด ๋˜๊ณ  ์•ˆ๋˜๊ณ  ์ด๋Ÿฐ ํŠน์ง•๋“ค์€ ์ค‘์š”ํ•œ๊ฒŒ ์•„๋‹ˆ๋‹ค. ์ถ”์ƒ ํด๋ž˜์Šค๊ฐ€ ๋ฌด์—‡์ด๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๋ณธ์งˆ์ ์ธ ๊ฐœ๋…๋ถ€ํ„ฐ ์•Œ์•„์•ผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ถ”์ƒ ํด๋ž˜์Šค ์šฉ๋„๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŠน์ง•์— ๋Œ€..

category_image
์ธํŒŒ_
2022.10.11
7