Entity, DTO, DAO, VO

» java

๐Ÿ“– Entity

Entity๋Š” DataBase์˜ ํ…Œ์ด๋ธ”๊ณผ ๋งคํ•‘๋˜๋Š” ํด๋ž˜์Šค๋กœ DB ํ…Œ์ด๋ธ” ๋‚ด์— ์กด์žฌํ•˜๋Š” ์ปฌ๋Ÿผ๋“ค์ด ์†์„ฑ(ํ•„๋“œ)๋กœ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
Entity๋Š” ์ƒ์†์„ ๋ฐ›๊ฑฐ๋‚˜ ๊ตฌํ˜„์ฒด์—ฌ์„œ๋Š” ์•ˆ๋˜๋ฉฐ ํ…Œ์ด๋ธ” ๋‚ด์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ์„ ๊ฐ€์ ธ์„œ๋„ ์•ˆ๋œ๋‹ค.

๐Ÿ“– DTO (Data Transfer Object)

๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ์ฒด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ฃผ๋กœ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ๋–„ ์‚ฌ์šฉํ•œ๋‹ค.
๊ณ„์ธต๊ฐ„(Controller, View, Business Layer) ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•œ ์ž๋ฐ” ๋นˆ์ฆˆ(Java Beans)๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

DTO๋Š” ๋กœ์ง์„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ๊ฐ์ฒด์ด๊ณ  getter/setter ๋ฉ”์„œ๋“œ๋งŒ ๊ฐ€์ง„ ํด๋ž˜์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๐Ÿ“– DAO(Data Access Object)

DB์— ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด์ด๋‹ค. DB์— ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…, ์‚ญ์ œ, ์กฐํšŒ ๋“ฑ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.\

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ DB์™€ ๊ด€๋ จํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ˆจ๊ธฐ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ“– VO(Value Object)

Read-Only ์†์„ฑ์„ ๊ฐ€์ง„ ๊ฐ์ฒด์ด๋‹ค. ๋‹จ์ˆœํžˆ ๊ฐ’ ํƒ€์ž…์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถˆ๋ณ€ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•œ๋‹ค.

Getter์™ธ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Setter๋Š” ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.
VO์˜ ํ•ต์‹ฌ ์—ญํ• ์€ ๊ฐ์ฒด์˜ ๊ฐ’์„ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ์žˆ๊ธฐ์— equals()์™€ hashcode()๋ฅผ ํ•„์ˆ˜์ ์œผ๋กœ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•ด์•ผํ•œ๋‹ค.