์ ์ฒด ๊ธ(658)
-
[์ดํํฐ๋ธ ์๋ฐ] Item26 ์๋ฒฝ๊ณต๋ต. GenericRepository
item26. ๋ก ํ์ ์ ์ฌ์ฉํ์ง ๋ง๋ผ. Generic Dao ๋ง๋ค๊ธฐ Generic์ ํ์ฉํ๋ฉด ์ค๋ณต ์ฝ๋๋ฅผ ์ ๊ฑฐํ ์ ์๋ค๋ ์ฅ์ ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด์ ๊ฐ์์๊ฐ์ ๊ฐ๋จํ Repository๋ฅผ ๋ง๋ค์๋ค. public interface Entity { Long getId(); } public class Account implements Entity { private Long id; private String username; public Account(Long id, String username) { this.id = id; this.username = username; } @Override public Long getId() { return this.id; } public String getUsername()..
2023.03.15 -
[์ดํํฐ๋ธ ์๋ฐ] Item26. ๋ก ํ์ ์ ์ฌ์ฉํ์ง ๋ง๋ผ.
[์ดํํฐ๋ธ ์๋ฐ] Item26. ๋ก ํ์ ์ ์ฌ์ฉํ์ง ๋ง๋ผ. https://hyejin.tistory.com/1124 [์ดํํฐ๋ธ ์๋ฐ] Item26. ๋ก ํ์ ์ ์ฌ์ฉํ์ง ๋ง๋ผ. [์ดํํฐ๋ธ ์๋ฐ] Item26. ๋ก(Law) ํ์ ์ ์ฌ์ฉํ์ง ๋ง๋ผ. 4๋ฒ์งธ ์ฑํฐ๋ก ๋ค์ด์ค๋ฉด์ ์ ๋ค๋ฆญ ํ์ ๊ณผ ๊ด๋ จ๋ item๋ค์ ๊ณต๋ถํ ์์ ์ด๋ค. ์ ๋ค๋ฆญ ํ์ ์ ์ค๋์ ๋ถํฐ ๋ค์ด์จ ๊ธฐ๋ฅ์ธ๋ฐ ๋ญ๊ฐ ์ฌ์ฉํ๊ธฐ ์ด๋ ค hyejin.tistory.com ์ ๋ฒ ๊ธ์์ ์ ๋ค๋ฆญ ํ์ ์ ๋ํ ์ฉ์ด ์ ๋ฆฌ๋ฅผ ํ๊ณ , ๊ทธ๋ฌ๋ฉด์ ๋ก ํฐ์ ์ ์ฌ์ฉํ๋ฉด ์์ข์? ์ด์ ์ ๋ํด์ ์ด์ง ์ ์๋๋ฐ ์ด๋ฒ ๊ธ์์ ์ข ๋ ์์ธํ ์์ฑํ๋ค. ๋ก ํ์ ์ ์ฌ์ฉํ์ง ๋ง๊ณ ๋งค๊ฐ๋ณ์ํ ํ์ ์ ์ฌ์ฉํ๋ผ. List numbers = new ArrayList(); numbers.add(10); ..
2023.03.15 -
[์ดํํฐ๋ธ ์๋ฐ] Item26. ๋ก ํ์ ์ ์ฌ์ฉํ์ง ๋ง๋ผ.
[์ดํํฐ๋ธ ์๋ฐ] Item26. ๋ก(Law) ํ์ ์ ์ฌ์ฉํ์ง ๋ง๋ผ. 4๋ฒ์งธ ์ฑํฐ๋ก ๋ค์ด์ค๋ฉด์ ์ ๋ค๋ฆญ ํ์ ๊ณผ ๊ด๋ จ๋ item๋ค์ ๊ณต๋ถํ ์์ ์ด๋ค. ์ ๋ค๋ฆญ ํ์ ์ ์ค๋์ ๋ถํฐ ๋ค์ด์จ ๊ธฐ๋ฅ์ธ๋ฐ ๋ญ๊ฐ ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ด? ๋๋์ด ๊ฐํด์ ๋ด๊ฐ ์ง์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ์ ์๋๋ฐ ์ฌ์ค ์ ๋ค๋ฆญ ํ์ ์ ๋ฐ๋๋ก ์ฌ์ฉํ๊ธฐ ํธํ๋ผ๊ณ ๋ง๋ค์ด์ง ๊ธฐ๋ฅ์ด๋ค. ๋ฐ๋ผ์ ์ดํํฐ๋ธ ์๋ฐ 4์ฅ์ ๊ณต๋ถํ๋ฉด์ ์ด๋ฒ ๊ธฐํ์ ์ ๋ค๋ฆญ ํ์ ๊ณผ ์นํด์ง(?) ์์ ์ด๋ท!!! ์ ๋ค๋ฆญ ํ์ ๊ณผ ์นํด์ง๊ธฐ ์ํด์๋ ๋จผ์ ์ฉ์ด๋ฅผ ์์์ผ ํ๋๋ฐ ๋ง์นจ ๊ฐ์์์๋ ์ฉ์ด ์ ๋ฆฌ๋ฅผ ์์์ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฒ ๊ธ์์๋ ์ ๋ค๋ฆญ ๊ด๋ จ ์ฉ์ด ์ ๋ฆฌ๋ฅผ ํ๋ค. ๐ฅ ์ ๋ค๋ฆญ Generic ์ ๋ค๋ฆญ์ ์๋ฐ5๋ถํฐ ์ฌ์ฉํ ์ ์์๋๋ฐ ์ ๋ค๋ฆญ์ ์ง์ํ๊ธฐ ์ ๊น์ง๋ ์ปฌ๋ ์ ์์ ๊ฐ์ฒด๋ฅผ ๊บผ๋ผ๋๋ง๋ค ํ๋ณํ์ ํ์ด์ผ ํ๋ค...
2023.03.15 -
[์ดํํฐ๋ธ ์๋ฐ] Item25. ํฑ๋ ๋ฒจ ํด๋์ค๋ ํ ํ์ผ์ ํ๋๋ง ๋ด์ผ๋ผ.
[์ดํํฐ๋ธ ์๋ฐ] Item25. ํฑ๋ ๋ฒจ ํด๋์ค๋ ํ ํ์ผ์ ํ๋๋ง ๋ด์ผ๋ผ public class Utensil { static final String NAME = "pan"; } class Dessert { static final String NAME = "cake"; } ์์ค ํ์ผ ํ๋์ ํฑ๋ ๋ฒจ ํด๋์ค๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ์ธํ๋ค๊ณ ํด์ ์ปดํ์ผ๋ฌ๊ฐ ์๋ฌ๋ฅผ ๋ด๊ฑฐ๋ ํ์ง๋ ์๋๋ค. ํ์ง๋ง ์์ค ํ์ผ ํ๋์ ํฑ๋ ๋ฒจ ํด๋์ค๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ์ธํ๋ ๋ฐฉ๋ฒ์ ์๋ฌด๋ฐ ๋์ด ์์ ๋ฟ๋ง ์๋๋ผ ์ฌ๊ฐํ ์ํ์ ๊ฐ์ํด์ผ ํ๋ค..!! ์๋ํ๋ฉด ํ ํด๋์ค๋ฅผ ์ฌ๋ฌ ๊ฐ์ง๋ก ์ ์ํ ์ ์์ผ๋ฉฐ, ๊ทธ ์ค ์ด๋ ๊ฒ์ ์ฌ์ฉํ ์ง๋ ์ด๋ ์์ค ํ์ผ์ ๋จผ์ ์ปดํ์ผํ๋๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ด๋ค. -> ์ด๋ ์์ค ํ์ผ์ ๋จผ์ ๊ฑด๋ค๋๋์ ๋ฐ๋ผ ๋์์ด ๋ฌ๋ผ์ง๋..
2023.03.14 -
[์ดํํฐ๋ธ ์๋ฐ] Item24 ์๋ฒฝ๊ณต๋ต. ์ด๋ํฐ ํจํด
item24. ๋ฉค๋ฒ ํด๋์ค๋ ๋๋๋ก static์ผ๋ก ๋ง๋ค๋ผ. " p.147. ์ด๋ํฐ" [์ดํํฐ๋ธ ์๋ฐ] Item24. ๋ฉค๋ฒ ํด๋์ค๋ ๋๋๋ก static์ผ๋ก ๋ง๋ค๋ผ. (tistory.com) [์ดํํฐ๋ธ ์๋ฐ] Item24. ๋ฉค๋ฒ ํด๋์ค๋ ๋๋๋ก static์ผ๋ก ๋ง๋ค๋ผ. [์ดํํฐ๋ธ ์๋ฐ] Item23. ํ๊ทธ ๋ฌ๋ฆฐ ํด๋์ค๋ณด๋ค๋ ํด๋์ค ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ผ. ์ค์ฒฉ ํด๋์ค(nested class)๋ ๋ค๋ฅธ ํด๋์ค ์์ ์ ์๋ ํด๋์ค๋ฅผ ๋งํ๋ค. ์ค์ฒฉ ํด๋์ค๋ ์์ ์ ๊ฐ์ผ ๋ฐ๊นฅ ํด๋์ค์์ hyejin.tistory.com ๋น์ ์ ๋ฉค๋ฒ ํด๋์ค๋ ์ด๋ํฐ๋ฅผ ์ ์ํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ค๊ณ ํ๋ค. ์ด๋ ์ด๋ํฐ ํจํด์ด๋? : ๊ธฐ์กด ์ฝ๋๋ฅผ ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด๋ก ๋ฐ๊ฟ์ฃผ๋ ํจํด์ ๋งํ๋ค. ์ฆ, ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๊ธฐ ์ํด..
2023.03.14 -
[์ดํํฐ๋ธ ์๋ฐ] Item24. ๋ฉค๋ฒ ํด๋์ค๋ ๋๋๋ก static์ผ๋ก ๋ง๋ค๋ผ.
[์ดํํฐ๋ธ ์๋ฐ] Item24. ๋ฉค๋ฒ ํด๋์ค๋ ๋๋๋ก static์ผ๋ก ๋ง๋ค๋ผ. ์ค์ฒฉ ํด๋์ค(nested class)๋ ๋ค๋ฅธ ํด๋์ค ์์ ์ ์๋ ํด๋์ค๋ฅผ ๋งํ๋ค. ์ค์ฒฉ ํด๋์ค๋ ์์ ์ ๊ฐ์ผ ๋ฐ๊นฅ ํด๋์ค์์๋ง ์ฐ์ฌ์ผ ํ๋ฉฐ, ๊ทธ ์ธ์ ์ฐ์์๊ฐ ์๋ค๋ฉด ํฑ๋ ๋ฒจ ํด๋์ค๋ก ๋ง๋ค์ด์ผ ํ๋ค. ์ค์ฒฉ ํด๋์ค์ ์ข ๋ฅ๋ ์ ์ ๋ฉค๋ฒ ํด๋์ค, ๋น์ ์ ๋ฉค๋ฒ ํด๋์ค, ์ต๋ช ํด๋์ค, ์ง์ญ ํด๋์ค ๋ค๊ฐ์ง๊ฐ ์๋ค. ์ด ์ค ์ ์ ๋ฉค๋ฒ ํด๋์ค๋ฅผ ์ ์ธํ๋ฉด ๋๋จธ์ง๋ ๋ด๋ถ ํด๋์ค์ ํด๋นํ๋ค. 1๏ธโฃ ์ ์ ๋ฉค๋ฒ ํด๋์ค : ์ ์ ๋ฉค๋ฒ ํด๋์ค๋ ๋ค๋ฅธ ํด๋์ค ์์ ์ ์ธ๋๊ณ , ๋ฐ๊นฅ ํด๋์ค์ private ๋ฉค๋ฒ์๋ ์ ๊ทผํ ์ ์๋ค๋ ์ ์ ์ ์ธํ๊ณ ๋ ์ผ๋ฐ ํด๋์ค์ ๋๊ฐ๋ค. ex) ๊ณ์ฐ๊ธฐ๊ฐ ์ง์ํ๋ ์ฐ์ฐ ์ข ๋ฅ๋ฅผ ์ ์ํ๋ ์ด๊ฑฐํ์ ์ ์๊ฐํด๋ณด๋ฉด Operation ์ด..
2023.03.14