์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [JAVA] ์ œ๋„ค๋ฆญ

    ์ œ๋„ค๋ฆญ(Generics)์ด๋ž€ ? - ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฃจ๋Š” ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ - ๋ฐ์ดํ„ฐํ˜•์— ๋Œ€ํ•œ ๋ณ„๋„์˜ ๋ฉ”์†Œ๋“œ๋‚˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•  ํ•„์š” ์—†์ด ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ฉ”์„œ๋“œ ๋˜๋Š” ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์— ์„œ๋กœ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•์œผ๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ - ๊ฐ์ฒด์˜ ํƒ€์ž…์„ ์ปดํŒŒ์ผํ•  ๋•Œ ์ฒดํฌํ•˜๋ฏ€๋กœ ๊ฐ์ฒด ํƒ€์ž…์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ณ  ๋ถˆํ•„์š”ํ•œ ํ˜• ๋ณ€ํ™˜์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค ๊ฐ„๋‹จํžˆ ๋งํ•ด, ์ปดํŒŒ์ผ์‹œ ํƒ€์ž…์„ ์ฒดํฌํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ ํƒ€์ž…์„ ์ œ๋Œ€๋กœ ๋ช…์‹œํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์‹คํ–‰ ์‹œ์— ClassCastException(ํ˜•๋ณ€ํ™˜ ์—๋Ÿฌ)๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ. ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ์‹คํ–‰์‹œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋ฅผ ์ปดํŒŒ์ผ ๋‹จ์œผ๋กœ ๋Œ๊ณ ์˜ฌ ์ˆ˜ ์žˆ์Œ. ์žฅ์  -์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์œ ๋ฐœํ•˜๋Š” ๊ฐ•์ œ ์บ์ŠคํŒ…์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. -์ปดํŒŒ์ผํ•  ๋•Œ ํƒ€์ž… ์˜ค๋ฅ˜๋ฅผ ์ฒดํฌํ•˜..

    [JAVA] DAO์™€ VO ์ •์˜์™€ ์‚ฌ์šฉ๋ฒ•

    DAO์™€ VO ์ •์˜์˜ ์‚ฌ์šฉ๋ฐฉ๋ฒ• ๐Ÿ˜ถ 01. VO VO(Value Object)์˜ ๊ฐœ๋… ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ํด๋ž˜์Šฌ๋กœ ์ „๋‹ฌํ•  ๋•Œ ์‚ฌ์šฉ TO(Transfer Object)๋ผ๊ณ ๋„ ํ•จ ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ ์•„์ €์”จ(์˜๊ตญ SW ๊ฐœ๋ฐœ์ž) ๊ฐ€ VO์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ ๊ฒƒ์„ ๋ณด๋ฉด ์ดํ•ด๊ฐ€ ์‰ฝ๋‹ค. When programming, I often find it's useful to represent things as a compound. โžก ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ๋•Œ ์ข…์ข… ์‚ฌ๋ฌผ์„ ๋ณตํ•ฉ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. A 2D coordinate consists of an x value and y value. An amount of money consists of a number and a currency. A date range..

    [JAVA] ์—ด๊ฑฐํ˜• ํƒ€์ž…

    [JAVA] ์—ด๊ฑฐํ˜• ํƒ€์ž…

    ์„œ๋กœ ์—ฐ๊ด€๋œ ์ƒ์ˆ˜ ์ง‘ํ•ฉ์„ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒํ˜•, ์—ด๊ฑฐํ˜• ํƒ€์ž…(Enumeration Type) ๐Ÿค“ 01 ์—ด๊ฑฐํ˜• ํƒ€์ž… 1. enum ํƒ€์ž…์ด๋ž€? - enum์€ ์—ด๊ฑฐํ˜•์ด๋ผ ํ•˜๋ฉฐ, ์—ด๊ฑฐํ˜•์€ ์„œ๋กœ ์—ฐ๊ด€๋œ ์ƒ์ˆ˜์˜ ์ง‘ํ•ฉ - enum ํƒ€์ž…์€ ๋ณ€์ˆ˜๊ฐ€ ๋ฏธ๋ฆฌ ์ •์˜๋œ ์ƒ์ˆ˜ ์„ธํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํŠน์ˆ˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•(ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ์˜ class) ex) ์š”์ผ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋Š” ์›”, ํ™”, ์ˆ˜. ๋ชฉ, ๊ธˆ, ํ† , ์ผ์ด๋ผ๋Š” 7๊ฐœ์˜ ๊ฐ’ ๊ณ„์ ˆ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋Š” ๋ด„, ์—ฌ๋ฆ„, ๊ฐ€์„, ๊ฒจ์šธใ„น์ด๋ผ๋Š” 4๊ฐœ์˜ ๊ฐ’ ์ฝ”๋“œ๊ฐ€ ๋‹จ์ˆœํ•ด์ง€๋ฉฐ ๊ฐ€๋…์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ ์ธ์Šคํ„ด์Šค ์ƒ์†๊ณผ ์ƒ์†์„ ๋ฐฉ์ง€ 2. enum ํƒ€์ž… ์ •์˜ ๋ฐ ํ™œ์šฉ enum๋ณ€์ˆ˜๋ฅผ ๋น„๊ตํ•  ๋•Œ๋Š” "=="๋ฅผ ์‚ฌ์šฉ Status status = Status.START; if (status == Status.START) ..

    [JAVA] ๊ฐ์ฒด์ง€ํ–ฅ_์ธํ„ฐํŽ˜์ด์Šค

    [JAVA] ๊ฐ์ฒด์ง€ํ–ฅ_์ธํ„ฐํŽ˜์ด์Šค

    01. ์ธํ„ฐํŽ˜์ด์Šค(interface) 1. ์ธํ„ฐํŽ˜์ด์Šค๋ž€? ์ถ”์ƒ ํด๋ž˜์Šค์˜ ํ•œ ์ข…๋ฅ˜(์„ ์–ธO ์ •์˜ X) ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ implements ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ ์ž๋ฐ”๋Š” ๋‹ค์ค‘ ์ƒ์†์„ ์ง€์›ํ•˜์ง€ ์•Š์ง€๋งŒ ์ธํ„ฐํŽ˜์ด์Šค๋ผ๋ฆฌ๋Š” ๋‹ค์ค‘ ์ƒ์† ๊ฐ€๋Šฅ ์‰ฝ๊ฒŒ ๋งํ•ด, ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋งŒ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ โญ๏ธ [์ ‘๊ทผ์ œ์–ด์ž][๊ธฐํƒ€์ œ์–ด์ž] class ํด๋ž˜์Šค์ด๋ฆ„ [extends ์ƒ์œ„ํด๋ž˜์Šค์ด๋ฆ„] // ์ธํ„ฐํŽ˜์ด์Šค ๋ฉ”์†Œ๋“œ ๊ตฌํ˜„ // ... } implements ์ธํ„ฐํŽ˜์ด์Šค๋ช…1, ์ธํ„ฐํŽ˜์ด์Šค๋ช…2,...{ 2. ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ์šฉ์˜ ์žฅ์  ํด๋ž˜์Šค ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ์Œ ํ‘œ์ค€ํ™” ๊ฐ€๋Šฅ ๊ฐœ๋ฐœ ์†๋„ ํ–ฅ์ƒ 3. ์ธํ„ฐํŽ˜์ด์Šค ๋ฉค๋ฒ„ โ‘  ์ƒ์ˆ˜ ํ•„๋“œ (constant field) public final static๋งŒ ๊ฐ€๋Šฅ.(์ƒ๋žต ๊ฐ€๋Šฅ) โ‘ก ์ถ”์ƒ ๋ฉ”์†Œ๋“œ ์ ‘๊ทผ ์ œ์–ด์ž..