๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JAVA ์ œ๋„ค๋ฆญ(Generics) ํด๋ž˜์Šค์™€ ๋ฉ”์†Œ๋“œ JAVA ์ œ๋„ค๋ฆญ(Generics) ํด๋ž˜์Šค์™€ ๋ฉ”์†Œ๋“œ ๐Ÿ“ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ ์ œ๋„ค๋ฆญ์˜ ์ •์˜ ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค ์ œ๋„ค๋ฆญ ๋ฉ”์†Œ๋“œ ์ œ๋„ค๋ฆญ ์ œํ•œ(extends, super) ์™€์ผ๋“œ ์นด๋“œ ์ œ๋„ค๋ฆญ ์˜ˆ - Collections.sort() ์ œ๋„ค๋ฆญ(Generics) ์ด๋ž€? ์ œ๋„ค๋ฆญ์€ ํด๋ž˜์Šค, ๋ฉ”์†Œ๋“œ์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋‚˜์ค‘์— ํ™•์ •ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ๋‚˜์ค‘์—๋ผ๋Š” ๋ง์€ ํด๋ž˜์Šค๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•  ๋•Œ๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉํ•  ๋•Œ, ์ฆ‰ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์ •ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์ œ๋„ค๋ฆญ์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ณผ ํŠน์ง•์€ ๋ฉ”์†Œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๊ต‰์žฅํžˆ ์œ ์‚ฌํ•œ๋ฐ, ๋ฉ”์†Œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ '๊ฐ’'๊ณผ ๊ด€๋ จ๋˜์–ด ์žˆ๋‹ค๋ฉด ์ œ๋„ค๋ฆญ์€ ๋ฐ์ดํ„ฐ์˜ 'ํƒ€์ž…'๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํด๋ž˜์Šค์™€ ๋ฉ”์†Œ๋“œ๊ฐ€ ๋‹ค์–‘ํ•œ ํƒ€์ž…์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋ฅผ ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•˜๋ฉด ๋ฐฉ๋ฒ•์€ .. 2020. 7. 11.
JAVA์˜ ๊ฐ์ฒด ์ง๋ ฌํ™”(Serialization)์™€ JSON ์ง๋ ฌํ™” JAVA์˜ ๊ฐ์ฒด ์ง๋ ฌํ™”(Serialization)์™€ JSON ์ง๋ ฌํ™” ๐Ÿ“ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ ์ง๋ ฌํ™”์™€ ์—ญ์ง๋ ฌํ™”์˜ ๊ฐœ๋… ObjectInputStream๊ณผ ObjectOutputStream Serializable transient ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™”์˜ ๊ตฌํ˜„ serialVersionUID Jackson์„ ์ด์šฉํ•œ JSON ์ง๋ ฌํ™” ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™”๋ž€? ์ง๋ ฌํ™” - ๊ฐ์ฒด์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ I/O ์ŠคํŠธ๋ฆผ์— ์“ฐ๊ธฐ(์ถœ๋ ฅ) ์œ„ํ•ด ์—ฐ์†์ ์ธ(serial) ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ ์—ญ์ง๋ ฌํ™” - I/O ์ŠคํŠธ๋ฆผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์„œ(์ž…๋ ฅ) ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ ์ž๋ฐ”์—์„œ ์ง๋ ฌํ™”์™€ ์—ญ์ง๋ ฌํ™”๋Š” ๊ฐ์ฒด๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ๊ฐ์ฒด๋Š” '์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์˜ ์ง‘ํ•ฉ'์ด๋ฏ€๋กœ ๊ฐ์ฒด๋ฅผ ์ €์žฅ/์ „์†กํ•˜๋Š” ๊ฒƒ์€ ๊ฐ์ฒด์˜ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์˜ ๊ฐ’์„.. 2020. 7. 10.