Learn. Build. Share.

Curiosity and Experience never get old.

์ž๋ฐ” ์ œ๋„ค๋ฆญ(Java Generic)

์ œ๋„ค๋ฆญ ์ž๋ฐ”์—์„œ ์ œ๋„ค๋ฆญ(Generic)์€ Java 5์— ์ถ”๊ฐ€๋œ ์ŠคํŽ™์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํƒ€์ž…์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ ๋˜๋Š” ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค๋ฅผ ์ปดํŒŒ์ผ ํƒ€์ž„์— ํƒ€์ž… ์ฒดํฌ(Type Check)ํ•  ์ˆ˜๊ฐ€ ์žˆ์–ด ํŠน์ • ํƒ€์ž…์—...

Java 8 ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ

java.time ํŒจํ‚ค์ง€ JDK 1.8 ๋ฒ„์ „์—์„œ java.time ํŒจํ‚ค์ง€์— LocalDateTime๊ณผ ํƒ€์ž„์กด ๊ฐœ๋…๊นŒ์ง€ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ZonedDateTime์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด์ „๋ณด๋‹ค ์•ˆ์ „ํ•˜๊ณ  ํŽธํ•˜๊ฒŒ ๋‚ ์งœ๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

Java Date์™€ Time ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๋Š” ์ด์œ 

์ž๋ฐ”์˜ Date API ์ž๋ฐ”์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•˜๋Š” ๋งŽ์€ ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์˜ค๋žซ๋™์•ˆ ์ œ๊ณต๋œ JDK 1.0์˜ Date ํด๋ž˜์Šค์™€ JDK 1.1 ์ดํ›„์˜ Calendar ํด๋ž˜์Šค๋ฅผ ๋น„๋กฏํ•˜์—ฌ JDK 8๋ถ€ํ„ฐ...

[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 28. ๋ฐฐ์—ด๋ณด๋‹ค๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ

๋ฐฐ์—ด๊ณผ ์ œ๋„ค๋ฆญ ํƒ€์ž…์˜ ์ฐจ์ด ์ฒซ ๋ฒˆ์งธ๋กœ ๋ฐฐ์—ด์€ ๊ณต๋ณ€(covariant)์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด Sub๊ฐ€ Super์˜ ํ•˜์œ„ ํƒ€์ž…์ด๋ผ๋ฉด ๋ฐฐ์—ด Sub[]๋Š” ๋ฐฐ์—ด Super[]์˜ ํ•˜์œ„ ํƒ€์ž…์ด ๋œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ณต๋ณ€์ด๋ผ๊ณ ...

[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 34. INT ์ƒ์ˆ˜ ๋Œ€์‹  ์—ด๊ฑฐ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ผ

์ž๋ฐ”์—์„œ ์ƒ์ˆ˜ ์„ ์–ธ ์ž๋ฐ” ์–ธ์–ด์˜ ์—ด๊ฑฐ ํƒ€์ž…(enum type)์€ Java 1.5 ์— ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋ฒ„์ „์—์„œ ์ƒ์ˆ˜ ์„ ์–ธ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ํ–ˆ์ง€์š”.

[์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” 3ํŒ] ์•„์ดํ…œ 18. ์ƒ์†๋ณด๋‹ค๋Š” ์ปดํฌ์ง€์…˜์„ ์‚ฌ์šฉํ•˜๋ผ

์ƒ์†(extends) ์ƒ์†์€ ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ์ˆ˜๋‹จ์ด์ง€๋งŒ, ํ•ญ์ƒ ์ตœ์„ ์ด๋ผ๊ณ  ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์บก์Аํ™”๋ฅผ ๊นจ๋“œ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ์š”. ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๊ตฌํ˜„์ด ๋ฐ”๋€Œ๋ฉด ์ด๋ฅผ ์ƒ์†ํ•œ...