๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ด๋ก /Study

[JAVA] ๊ฐ์ฒด์ง€ํ–ฅ 5๋Œ€์›์น™ / POJO JAVA

by 6161990 2021. 6. 3.

๐Ÿ“Œ SRP Single Responsibility Principle ๋‹จ์ผ ์ฑ…์ž„ ์›์น™

ํด๋ž˜์Šค๋Š” ํ•˜๋‚˜์˜ ์ผ์—๋งŒ ์ฑ…์ž„์ง„๋‹ค.

์ฆ‰, 1๊ฐœ์˜ ํด๋ž˜์Šค์— ํ•˜๋‚˜์˜ ์—ญํ• ๋งŒ ๊ฐ€์ ธ์•ผํ•œ๋‹ค.

์„ค๊ณ„์ค‘์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ํด๋ž˜์Šค๊ฐ€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์—ญํ• ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ๊ฒ€ํ†  ํ›„,

๋ถˆํ•„์š”ํ•œ ํ•„๋“œ๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ฑฐํ•ด์•ผํ•œ๋‹ค.

 

๊ธฐ๋Šฅ์ด ๋„ˆ๋ฌด ๋งŽ์€ FTP Client ํด๋ž˜์Šค

 

์˜ˆ๋ฅผ๋“ค์–ด FileReader(String str)๋กœ ์“ฐ์ด๋‹ค๊ฐ€ -> FileReader(File file)๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ์ฒด๋ฅผ ๋ฐ”๊พธ๋ฉด 

์™ธ๋ถ€์—์„œ ์“ฐ์ด๊ณ ์žˆ๋˜ FileReader๋Š” ๋ณ€๊ฒฝ์ด๋˜์—ˆ๊ธฐ๋•Œ๋ฌธ์—,

FTP Client์™€ FileReader ๋˜ํ•œ ์ˆ˜์ •ํ•ด์ค˜์•ผํ•œ๋‹ค.

.

.

์ด ๋ฐ–์—๋„, FTP Client๋Š” ๋„ˆ๋ฌด ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 

๊ฐ๊ฐ์„ ๋ถ„๋ฆฌ์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. 

 

 

 

Network Connection, File Writer, File Reader๋ฅผ ๊ฐ๊ฐ ๋ถ„๋ฆฌ์‹œํ‚ด

 

๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ๋ชจ๋“ˆ (Local File Reader, HttpClient)์ด

์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ • ๋˜๋”๋ผ๋„ ์˜ํ–ฅ ๋ฐ›์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ง€๋ณด์ˆ˜, ์žฌํ™œ์šฉ์ด ์‰ฌ์›Œ์ง„๋‹ค.

 

 


 


๐Ÿ“Œ OCP Open Closed Principle ๊ฐœ๋ฐฉ ํ์‡„ ์›์น™(์˜คํ”ˆ/ํด๋กœ์ฆˆ์›์น™)
์ž์‹ ์˜ ํ™•์žฅ์—๋Š” ์—ด๋ ค์žˆ๊ณ  ์ฃผ๋ณ€์˜ ๋ณ€ํ™” ๋Œ€ํ•ด์„œ๋Š” ๋‹ซํ˜€์žˆ์–ด์•ผํ•œ๋‹ค. 

์ œ๊ณต๋˜๋Š” ๊ธฐ๋Šฅ์€ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์ง€๋งŒ(์˜คํ”ˆ), ์ˆ˜์ •์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” (ํ์‡„์„ฑ)์ž„์„ ๊ณ ๋ คํ•œ๋‹ค.

 

๋‹คํ˜•์„ฑ์„ ์˜ˆ๋กœ,

์Šˆํผํด๋ž˜์Šค์™€ ๊ทธ ์„œ๋ธŒ ํด๋ž˜์Šค๊ฐ€ ๋ฏธ๋ž˜์— ์–ด๋–ค ํ™•์žฅ๊ณผ ์ˆ˜์ •๋œ ๋ฐฉ์‹(๋ฉ”์†Œ๋“œ ๋‚ด์šฉ ๋ณ€๊ฒฝ ๋“ฑ)์„ ํ•ด๋„ 

์‚ฌ์šฉ์ž ์ธก์€ ๊ทธ ์ˆ˜์ •์— ๋Œ€ํ•ด ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

 

ํ•˜์ง€๋งŒ, ์ˆ˜์ •์ด ์ƒ๊ธฐ๋ฉด ๊ทธ์— ๋”ฐ๋ฅธ ๋ณ€ํ™”๋Š” ๋ฐ˜๋“œ์‹œ ์ƒ๊ธด๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜๋‚˜?

 

๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๋งบ์–ด์ฃผ๋Š” ๋ณ„๋„์˜ ์กฐ๋ฆฝ, ์„ค์ •์ž๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

์ƒ์œ„ํด๋ž˜์Šค ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ค‘๊ฐ„์— ๋‘ ์œผ๋กœ์จ, 

์ž์‹ ์€ ๋ณ€ํ™”์— ๋Œ€ํ•ด์„œ๋Š” ํ์‡„์ ์ด์ง€๋งŒ, ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์™ธ๋ถ€์˜ ๋ณ€ํ™”์— ๋Œ€ํ•ด์„œ ํ™•์žฅ์„ ๊ฐœ๋ฐฉํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. 

 

๋Œ€ํ‘œ์ ์œผ๋กœ JDBC์™€ Mybatis, Hibernate ๋“ฑ JAVA์—์„œ๋Š” Stream์—์„œ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค.

JDBC ์ธํ„ฐํŽ˜์ด์Šค

 

 

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž…์žฅ์—์„œ๋Š” ์™ธ๋ถ€์ ์œผ๋กœ ๋งŽ์€ Database๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

Database๊ฐ€ ๋Š˜์–ด๋‚  ์ˆ˜๋ก ๊ณ„์† ๋ณ€๊ฒฝ๋˜๋Š” ์ƒํ™ฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, 

์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ JDBC ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ๋‹ค. 

 

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ํ•œ ํ•˜๋‚˜์˜ ํ†ต๋กœ์ธ JDBC ์ธํ„ฐํŽ˜์ด์Šค๋งŒ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ,

JDBC ์ธํ„ฐํŽ˜์ด์Šค ์™ธ๋ถ€์ ์œผ๋กœ๋Š” N๊ฐœ ์ด์ƒ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 



๐Ÿ“Œ LSP(Liskov Substitution Principle) ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜์›์น™
์„œ๋ธŒํƒ€์ž…์€ ์–ธ์ œ๋‚˜ ์ž์‹ ์˜ ๊ธฐ๋ฐ˜(์ƒ์œ„) ํƒ€์ž…์œผ๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค

ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ์ค‘์š”ํ•˜๊ฒŒ ์ง€์ผœ์•ผํ•  ๊ฒƒ์€

์ž์‹ ์˜ ์ƒ์œ„ ํƒ€์ž…(์ธํ„ฐํŽ˜์ด์Šค)์˜ ๊ทœ์•ฝ์„ ๋‹ค ์ง€์ผœ์•ผํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

๋‹คํ˜•์„ฑ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ์›์น™, ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๊ตฌํ˜„์ฒด๋Š” ๋ฏฟ๊ณ  ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ์ด ์›์น™์ด ํ•„์š”ํ•˜๋‹ค.

๋‹จ์ˆœํ•œ ์ปดํŒŒ์ผ ํŒจ์Šค๋ฅผ ๋„˜์–ด์„œ๋Š” ์ด์•ผ๊ธฐ๋‹ค. 

์˜ˆ๋ฅผ๋“ค์–ด, ์ž๋™์ฐจ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์—‘์…€์„ ์•ž์œผ๋กœ ๊ฐ€๋ผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. 

ํ•˜์ง€๋งŒ ์ด ๊ธฐ๋Šฅ์„ ํ•˜์œ„ํด๋ž˜์Šค์—์„œ ๋’ค๋กœ ๊ฐ€๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด LSP๊ฐ€ ์œ„๋ฐ˜๋œ๋‹ค. 

์—‘์…€ ๊ธฐ๋Šฅ์€ ๋А๋ฆฌ๋”๋ผ๋„ ๋ฐ˜๋“œ์‹œ ์•ž์œผ๋กœ ๊ฐ€์•ผํ•œ๋‹ค.

 

์ถ”๊ฐ€ ) ์ƒ์œ„๋Š” ํ•˜์œ„๋ฅผ ํฌ๊ด„ํ•˜๋Š” ์ผ๋ฐ˜์  ๊ฐœ๋…์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.

ํฌ์œ ๋ฅ˜ - ์ธ๊ฐ„ ์˜ ๊ฐœ๋…์—์„œ ์ธ๊ฐ„์€ ์–ธ์ œ๋‚˜ ํฌ์œ ๋ฅ˜์— ์†ํ•˜๋Š” ๊ฒƒ์„ ๋– ์˜ฌ๋ฆฌ๋ฉด ๋œ๋‹ค.

์Šˆํผํด๋ž˜์Šค์—์„œ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ์„œ๋ธŒํด๋ž˜์Šค๋กœ ๋Œ€์ฒด ์ž‘๋™์ด ๊ฐ€๋Šฅํ•œ์ง€ ๊ณ ๋ คํ•ด์•ผํ•œ๋‹ค.

 




๐Ÿ“Œ ISP (Interface Segregation Principle) ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ์›์น™
ํด๋ผ์ด์–ธํŠธ๋Š” ์ž์‹ ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ์— ์˜์กด ๊ด€๊ณ„๋ฅผ ๋งบ์œผ๋ฉด ์•ˆ๋œ๋‹ค. 

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ•์š”ํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์— ์ •์˜๋˜์–ด ์žˆ๋Š” ๊ฒƒ์€ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค์—์„œ ๋ชจ๋‘ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋ฉฐ, ๊ทธ ์•ˆ์— ์•Œ๋งž์ง€ ์•Š์€ ๋ฉ”์†Œ๋“œ๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ, ์„ค๊ณ„๊ฐ€ ๋ง๊ฐ€์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. 

ํ”„๋กœ์ ํŠธ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์„ค๊ณ„์— ๋”ฐ๋ผ์„œ SRP(๋‹จ์ผ ์ฑ…์ž„ ์›์น™) / ISP(์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ์›์น™)๋ฅผ ์„ ํƒํ•œ๋‹ค.

 

์ง€๋„๋ผ๋Š” ๊ฐ์ฒด๋Š” ์—๋Š” ๋„๋ณด์•ˆ๋‚ด, ์ž๋™์ฐจ ์ „์šฉ๊ธธ ์•ˆ๋‚ด, ์ž์ „๊ฑฐ ์ „์šฉ๊ธธ ์•ˆ๋‚ด, ์ง€ํ•˜์ฒ  ๋…ธ์„  ๋“ฑ๋“ฑ ๋งŽ์€ ๊ธฐ๋Šฅ์ด์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ ์ง€ํ•˜์ฒ  ์–ดํ”Œ์„ ๋งŒ๋“ค ๋•Œ, ์ง€๋„๋ฅผ ์ƒ์†๋ฐ›์œผ๋ฉด ๋‹ค๋ฅธ ํ•„์š”์—†๋Š” ์ž๋™์ฐจ ์ „์šฉ๊ธธ ์•ˆ๋‚ด๊นŒ์ง€ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ๋ถˆํ•„์š”์„ฑ์ด ์ƒ๊ธด๋‹ค. ๋”ฐ๋ผ์„œ ๋„๋ณด์•ˆ๋‚ด, ์ž๋™์ฐจ ์ „์šฉ๊ธธ ์•ˆ๋‚ด์— ๋”ฐ๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ๊ฐ ๋งŒ๋“ค์ž๋Š” ๊ฒƒ์ด ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ์›์น™์ด๋‹ค.

 

 




๐Ÿ“Œ DIP (Dependency Inversion Principle)์˜์กด ์—ญ์ „ ์›์น™
์ž์‹ ๋ณด๋‹ค ๋ณ€ํ•˜๊ธฐ ์‰ฌ์šด ๊ฒƒ์— ์˜์กดํ•˜์ง€ ๋ง์•„์•ผํ•œ๋‹ค.

๊ธฐ๋ณธ ์—ญํ• ์— ์˜์กดํ•ด์•ผ์ง€, ๊ตฌ์ฒดํ™”์— ์˜์กดํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

(์Šˆํผ ํด๋ž˜์Šค๋Š” ์„œ๋ธŒ ํด๋ž˜์Šค์— ์˜์กดํ•œ๋‹ค.)

 

์‚ฌ๋žŒ์€ ์˜ท์— ์˜์กดํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ์„ฑ์˜ท, ๋ด„ ์˜ท, ๋‚จ์„ฑ์˜ท์ด ์•„๋‹ˆ๋ผ, '์˜ท'์— ์˜์กดํ•œ๋‹ค.

์ž์‹ ๋ณด๋‹ค ๋ณ€ํ•˜๊ธฐ ์‰ฌ์šด ๊ฒƒ์— ์˜์กดํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ์ค‘๊ฐ„์— interface๋กœ '์˜ท' ๊ฐ์ฒด๋ฅผ ๋ผ์›Œ๋„ฃ๊ธฐ.

 

์ด๋Š” Open Closed Principle ๊ฐœ๋ฐฉ ํ์‡„ ์›์น™๊ณผ ๋น„์Šทํ•œ ์›๋ฆฌ์ด๋‹ค.

์›๋ž˜ SOLID ๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ 4๋Œ€ ํŠน์„ฑ์— ๊ธฐ๋ฐ˜ํ•จ์œผ๋กœ์จ ์„œ๋กœ ์œ ์‚ฌํ•œ ๋ชจ์–‘๊ณผ ์˜๋ฏธ๋ฅผ ๋‹ด๊ณผ ์žˆ๋‹ค.

 

 

๊ฐ์ฒด ์ง€ํ–ฅ์˜ ํ•ต์‹ฌ์€ ๋‹คํ˜•์„ฑ์ด๋‹ค.

ํ•˜์ง€๋งŒ ๋‹คํ˜•์„ฑ ๋งŒ์œผ๋กœ๋Š” ์‰ฝ๊ฒŒ ๋ถ€ํ’ˆ์„ ๊ฐˆ์•„ ๋ผ์šฐ๋“ฏ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์—†๋‹ค.

๊ตฌํ˜„ ๊ฐ์ฒด๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ๋„ ํ•จ๊ป˜ ๋ณ€๊ฒฝ๋˜๋Š” ์ƒํ™ฉ์ด ์˜จ๋‹ค. 

๋‹คํ˜•์„ฑ ๋งŒ์œผ๋กœ๋Š” OCP, DIP๋ฅผ ์ง€ํ‚ฌ ์ˆ˜ ์—†๋‹ค. 

๋ญ”๊ฐ€๊ฐ€ ๋” ํ•„์š”ํ•˜๋‹ค๋Š” ๋ง์ด๋‹ค. 

๊ทธ๊ฒŒ ๋ญ˜๊นŒ. 

๋‹ต์€ ์Šคํ”„๋ง์— ์žˆ๋‹ค.

DI, ์˜์กด์„ฑ ์ฃผ์ž…์ด๋‹ค. 

 

์–ด์จŒ๋“ ,

์–ด๋–ค ์›์น™์ด๋“  ๋ฐ”ํƒ•์—๋Š” "์—ญํ• ์„ ๋ช…ํ™•ํžˆ ํ•ด์•ผํ•œ๋‹ค"๋Š” ์ƒ๊ฐ์€ ํ•„์ˆ˜๋กœ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.


 

 

๐Ÿ“Œ POJO JAVA๋ž€?

 


POJO(Plain Old Java Object)
์ˆœ์ˆ˜ํ•œ ์ž๋ฐ” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋œปํ•œ๋‹ค. 


1. ํŠน์ • ๊ทœ์•ฝ์— ์ข…์†๋˜์ง€ ์•Š๋Š”๋‹ค. 

ํŠน์ • Library, Module์—์„œ ์ •์˜๋œ ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์•„์„œ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. 

POJO๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์™ธ๋ถ€์˜ ์˜์กด์„ฑ์„ ๋‘์ง€ ์•Š๊ณ , ์ˆœ์ˆ˜ํ•œ JAVA๋กœ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•ด์•ผํ•œ๋‹ค.


2. ํŠน์ • ํ™˜๊ฒฝ์— ์ข…์†๋˜์ง€ ์•Š๋Š”๋‹ค. 

๋งŒ์ผ ํŠน์ • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์—

์™ธ๋ถ€ ์ข…์†์ ์ธ HTTP REQUEST, SESSION ๋“ฑ POJO๋ฅผ ์œ„๋ฐฐํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.

๋˜ํ•œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ ๋Š” ์žˆ์ง€๋งŒ @Annotation ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„๋„

์—„์—ฐํžˆ๋Š” POJO๋ผ๊ณ  ๋ณผ ์ˆœ ์—†๋‹ค.

 

 

POJO Framework
Spring, Hibernate
ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 

์‹œ์Šคํ…œ์˜ ๋ณต์žกํ•จ , ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ๋ณต์žกํ•จ ๋“ฑ ๋‹ค์–‘ํ•œ ์–ด๋ ค์›€์„ ๋งž์ดํ•˜๊ฒŒ ๋œ๋‹ค.
์œ„์˜ ๋‘ ํ”„๋ ˆ์ž„ ์›Œํฌ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์„ค๊ณ„๋ฅผ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋˜ํ•œ POJO๋ฅผ ์ง€ํ–ฅํ•˜๊ณ  ์žˆ๋‹ค.
๊ทธ๋Ÿฌ๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„œ๋น„์Šค ๋กœ์ง์— ์ง‘์ค‘ํ•˜๊ณ  ์ด๋ฅผ POJO๋กœ ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.

 

 

 

๋‹ค์Œ ์งˆ๋ฌธ๋“ค์„ ์ž˜ ๊ธฐ์–ตํ•ด๋ณด์ž.


์ž์‹ ์˜ ์ฝ”๋“œ์— if/else , switch๊ฐ€ ๋‚œ๋ฌดํ•˜๊ณ  ์žˆ์ง€์•Š์€๊ฐ€?
์ฑ…์ž„๊ณผ ์—ญํ• ์ด ๋‹ค๋ฅธ ์ฝ”๋“œ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์— ๋‹ค ๋“ค์–ด๊ฐ€ ์žˆ์ง€ ์•Š์€๊ฐ€?
์ ˆ์ฐจ์ง€ํ–ฅ์ ์œผ๋กœ ํ•œ๊ฐœ์˜ ํŒŒ์ผ์— ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ๋„ฃ๊ณ  ์žˆ์ง€ ์•Š์€๊ฐ€?
๋‚ด๊ฐ€ ๋งŒ๋“  ๊ฐ์ฒด๊ฐ€ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ๊ฐ€?