[์ž๋ฐ”] ์ œ๋„ค๋ฆญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๐Ÿ’ก ์ œ๋„ค๋ฆญ(Generic)์ด๋ž€? ์ œ๋„ค๋ฆญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋žจ์ด์ด๋ผ๋Š” ๋œป์ธ๋ฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…(data type)์„ ์ผ๋ฐ˜ํ™”(generalize)ํ•œ๋‹ค๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด ๋ณ€์ˆ˜์˜ ์„ ์–ธ์ด๋‚˜ ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜์˜ ์ฐธ์กฐ ์ž๋ฃŒํ˜•์ด ์•„๋‹Œ ์—ฌ๋Ÿฌ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€ํ™˜, ๋Œ€์ฒด๋  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ž๋ฃŒํ˜•์„ ์„ ์–ธํ•˜๊ณ  ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ์ธ๋ฐ ํ•˜๋‚˜์˜ ์ž๋ฃŒํ˜•์— ๊ตญํ•œ๋˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€ํ™˜๋  ์ˆ˜ ์žˆ๋‹ค. ์‹ค์ œ ์‚ฌ์šฉ๋˜๋Š” ์ฐธ์กฐ ์ž๋ฃŒํ˜•์œผ๋กœ์˜ ๋ณ€ํ™˜์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ฒ€์ฆํ•˜๋ฏ€๋กœ ์•ˆ์ •์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ๋…์€ ์ž๋ฐ” 5.0๋ถ€ํ„ฐ ๋‚˜์˜จ ๊ธฐ์ˆ ์ด๊ณ  ์ด์ „์—์„œ๋Š” ์—ฌ๋Ÿฌ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํด๋ž˜์Šค๋‚˜ ๋ฉ”์†Œ๋“œ์—์„œ ์ธ์ˆ˜๋‚˜ ๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ Object ํƒ€์ž…์„ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๋ฐ˜ํ™˜๋œ Object ..

Java 2021. 4. 22. 13:22