๋ชฉ๋กBackEnd๐Ÿƒ/Java (4)

did_story

[Java] hashCode()์—์„œ equals()๋ฅผ ์žฌ์ •์˜ ํ•ด์•ผํ•˜๋Š” ์ด์œ 

equals์™€ hashCode ๋ฉ”์„œ๋“œ๋Š” ๊ฐ์ฒด์˜ ๋™๋“ฑ์„ฑ ๋น„๊ต์™€ ํ•ด์‹œ๊ฐ’ ์ƒ์„ฑ์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ํ•จ๊ป˜ ์žฌ์ •์˜ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋ น, ํ•ด์‹œ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ(HashSet, HashMap..)์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.equals()๋ž€?boolean equals(Object obj)๋กœ ์ •์˜๋œ equals() ๋ฉ”์„œ๋“œ == ๋ฅผ ํ†ตํ•ด ๊ฐ์ฑ„์˜ ์ฐธ์กฐ(๋ ˆํผ๋Ÿฐ์Šค) ๋น„๊ตํ•˜์—ฌ 2๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ๋™์ผํ•œ์ง€ ๊ฒ€์‚ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. equals๊ฐ€ ๊ตฌํ˜„๋œ ๋ฐฉ๋ฒ•์€ 2๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด ๋™์ผํ•œ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ์ด๋Š” ๋™์ผ์„ฑ(Identity)์„ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰ 2๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ณณ์ด ๋™์ผํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์ธ ๊ฒฝ์šฐ์—๋งŒ ๋™์ผํ•œ ๊ฐ์ฒด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. - I..

BackEnd๐Ÿƒ/Java 2025. 6. 27. 13:08
[Java] ์ž๋ฐ”์—์„œ Checked Exception๊ณผ Uncheck Exception์˜ ์ฐจ์ด์ .

์•„๋ฌด ์ƒ๊ฐ ์—†์ด Custom Exception์ด ์ƒ๊ฐ๋‚œ ๋‚˜๋ผ๋ฉด1. Checked Exception์ปดํŒŒ์ผ ์‹œ์ ์—์„œ ํ™•์ธ ๋˜๋Š” ์—๋Ÿฌ๋กœ ์ž๋ฐ”์—์„œ๋Š” IOException, SQLException ๋“ฑ์ด ์ด์— ์†ํ•ฉ๋‹ˆ๋‹ค (๋ฐ˜๋“œ์‹œ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ์˜ˆ์™ธ). Checked Exception์„ ์œ ๋ฐœํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ, ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜์— throws๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ถœ์ž์—๊ฒŒ ์˜ˆ์™ธ๋ฅผ ์œ„์ž„ํ•˜๊ฑฐ๋‚˜ ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ try-catch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์˜ˆ์™ธ๋ฅผ ๋ฐ˜๋“œ์‹œ ์ฒ˜๋ฆฌํ•ด์•ผํ•œ๋‹ค. (ํ‘œ์ค€ ์˜ˆ์™ธ์ฒ˜๋ฆฌ, Custom Exception์„ ํ†ตํ•ด์„œ ์ฒ˜๋ฆฌ.)2. Unchecked Exception๋Ÿฐํƒ€์ž„ ์‹œ์ ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ์ด๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ฒ˜๋ฆฌ ์—ฌ๋ถ€๋ฅผ ๊ฐ•์ œํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ž๋ฐ”์—์„œ๋Š” RuntimeException์„ ์ƒ์†ํ•œ ์˜ˆ์™ธ๋“ค์ด ํ•ด๋‹น๋œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ..

BackEnd๐Ÿƒ/Java 2025. 6. 17. 15:54
[Java / JDBC] JDBC๊ฐ€ ๋ฌด์—‡์ผ๊นŒ?

JDBC(Java Database Connectivity)๋ž€?JDBC(Java Database Connectivity) API๋Š” Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ํญ๋„“์€ ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(SQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ๋‚˜ ํ”Œ๋žซ ํŒŒ์ผ์„ ๋น„๋กฏํ•œ ํ…Œ์ด๋ธ” ํ˜•์‹ ๋ฐ์ดํ„ฐ ์†Œ์Šค)๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋…๋ฆฝ์ (database-independent)์œผ๋กœ ์—ฐ๊ฒฐํ•ด ์ฃผ๋Š” ์‚ฐ์—… ํ‘œ์ค€์ž…๋‹ˆ๋‹ค. JDBC API๋Š” SQL ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ก์„ธ์Šค๋ฅผ ์œ„ํ•œ ํ˜ธ์ถœ ๋ ˆ๋ฒจ API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. (์ถœ์ฒ˜ : Oracle ๊ณต์‹๋ฌธ์„œ)→ ์ฆ‰, JDBC(Java Database Connectivity)๋Š” Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์ž๋ฐ” ํ‘œ์ค€ API์ž…๋‹ˆ๋‹ค. JDBC๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Java ํ”„๋กœ๊ทธ๋žจ์—์„œ SQL ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ..

BackEnd๐Ÿƒ/Java 2025. 1. 20. 15:37