Java) toString()์„ overrideํ•˜๋Š” 10๊ฐ€์ง€ ํŒ (๋ฒˆ์—ญ/์š”์•ฝ)

์•„๋ž˜์˜ ์ž๋ฃŒ๋ฅผ ๋ฒˆ์—ญ ๋ฐ ์š”์•ฝ 10 Tips to override toString() method in Java ์ž๋ฐ”์˜ toString ๋ฉ”์„œ๋“œ๋Š” ๊ฐ์ฒด์˜ ๋ช…ํ™•ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์ •๋ณด๋ฅผ ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ์ œ๊ณตํ•˜๋Š”๋ฐ ์ด์šฉ๋œ๋‹ค. ์˜ฌ๋ฐ”๋ฅด๊ฒŒ override๋œ toString ๋ฉ”์„œ๋“œ๋Š” ๊ฐ€์น˜์žˆ๊ณ  ์˜๋ฏธ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์—ฌ, ํ”„๋กœ๊ทธ๋žจ์˜ ๋กœ๊น…๊ณผ ๋””๋ฒ„๊น…์— ๋„์›€์„ ์ค€๋‹ค. toString์€ java.lang.Object ํด๋ž˜์Šค์— ์ •์˜๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ถฉ๋ถ„ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ์„œ๋ธŒํด๋ž˜์Šค์—์„œ overrideํ•˜๋Š”๊ฒƒ์ด ์ข‹๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ toString์€ package.class@hashCode์˜ ํ˜•ํƒœ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ex) test.Country@18e2b22 ์˜ˆ๋ฅผ ๋“ค์–ด, ๋„คํŠธ์›Œํฌ ๊ด€๋ จ ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ toString์„ ..

General, Java 2019. 9. 14. 15:24
Dependency Injection (basic)

Dependency Injection (DI, ์˜์กด์„ฑ ์ฃผ์ž…) Dependency(์˜์กด์„ฑ, ์˜์กด๊ด€๊ณ„) A ๊ฐ์ฒด๊ฐ€ B๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•ด ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ A ๊ฐ์ฒด๋Š” B ๊ฐ์ฒด์— ์˜์กด๊ด€๊ณ„๋ฅผ ๊ฐ€์ง„๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Car๊ฐ€ Random ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด Car๋Š” Random์— ์˜์กด๊ด€๊ณ„๋ฅผ ๊ฐ€์ง„๋‹ค. Injection(์ฃผ์ž…) ๊ฐ์ฒด ๊ฐ„์˜ ์˜์กด๊ด€๊ณ„๋ฅผ ์˜์กด๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด ๋‚ด๋ถ€์—์„œ ๊ฒฐ์ •ํ•˜์ง€ ์•Š๊ณ  ์™ธ๋ถ€์—์„œ ๊ฒฐ์ •ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Car๊ฐ€ Random ๊ฐ์ฒด์˜ ์˜์กด๊ด€๊ณ„๋ฅผ ์—†์• ๊ธฐ ์œ„ํ•ด MoveStrategy๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค๋ฉด ์ด์— ๋Œ€ํ•œ ์˜์กด๊ด€๊ณ„๋ฅผ ์™ธ๋ถ€์—์„œ ๊ฒฐ์ •ํ•œ๋‹ค. Sample Code DI์ „์—” ๋„๋ฉ”์ธ ๊ฐ์ฒด์˜ ๋žœ๋ค์„ฑ์œผ๋กœ ํ…Œ์ŠคํŠธ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋™์‹œ์— ์ด ํ…Œ์ŠคํŠธ ๋ถˆ๊ฐ€์„ฑ์ด ์ƒ์œ„๊ฐ์ฒด๊นŒ์ง€ ์ „์—ผ๋˜์–ด, ๋ชจ๋‘ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ํž˜๋“ค์–ด์ง„๋‹ค...

General, Java 2019. 9. 14. 15:19
์›๋ณธ๊ฐ’์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•˜์ž by unmodifiableList & Deep Copy & VO

์›๋ณธ์ฝ”๋“œ ๊ฐ’ ๋ณ€ํ™” ์‹คํ—˜ : Java) Shallow Copy vs Deep Copy (์–•์€/๊นŠ์€ ๋ณต์‚ฌ), unmodifiableList์˜ ๊ฐ’ ๋ณ€ํ™” ๊ด€์ฐฐ ์ขŒํ‘œ๊ณ„์‚ฐ๊ธฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€, Jason์ฝ”์น˜๋‹˜์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์›๋ณธ๊ฐ’์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. (์„ธ ๊ธฐ๋ฒ•์ด ๋ชจ๋‘ ๊ฐ์ž์˜ ๊ด€์ ์ด ๋‹ค๋ฅด๊ธด ํ•˜์ง€๋งŒ, ์ผ๋‹จ์€) Collections.unmodifiableList Deep Copy VO(Value Object) ์‚ฌ์ „์ง€์‹ : final์€ ์žฌํ• ๋‹น๋งŒ ๋ง‰์ง€, ๊ฐ’ ์กฐ์ž‘์€ ๋ง‰์ง€๋ชปํ•œ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค. ์›๋ณธ๊ฐ’์ธ List๋ฅผ ๋ฐ›์•„๋“ค์ด๊ณ , ์ด๋ฅผ ์กฐ์ž‘ํ•ด์„œ figure๋ฅผ ๋งŒ๋“ค๊ณ  ์ถœ๋ ฅํ•œ๋‹ค. List๋ฅผ ๊ฐ–๊ณ ์žˆ๋Š” ๋„๋ฉ”์ธ ๋ชจ๋ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ „ํ˜•์ ์ธ ์ƒ์„ฑ์ž์™€ ์ „ํ˜•์ ์ธ getter. ๋‹จ์ˆœํžˆ ..

General, Java 2019. 9. 14. 15:02
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
๊ธ€ ๋ณด๊ด€ํ•จ