๐จ๐ป ํ์ต ๊ณผ์
๋ก๋ ๋ฏธ์ 2์ผ์ฐจ
์ค๋๋ ํ๋ฃจ์ข
์ผ ์งํ๋ก๊ทธ๋๋ฐ์ ํตํด ๋ฏธ์
์ ์ํํ๋ค.
๋ฏธ์
1๋จ๊ณ๋ฅผ ์์ฑํ๊ณ ๋์ ๋ณด๋ ์๋น์ค์ ๋ชจ๋ ๋ก์ง์ด ๋ชฐ๋นต๋์ด ์๋ ๋๋์ ๋ฐ์๋๋ฐ ์ญ์๋ ํธ๋
์ค์ ํผ๋๋ฐฑ์์ ๋์ผํ ์ด์ผ๊ธฐ๊ฐ ๋์๋ค.
๊ทธ๋์ 2๋จ๊ณ์์๋ Enum์ ์ฌ์ฉํด์ ์ผ๋ถ๋ฅผ ๋ด์ด๋ด๊ณ , ์ผ๊ธ ์ปฌ๋ ์
์ ํตํด ๋ก์ง ์ผ๋ถ๋ฅผ ๋ด์ด๋ด๋ ์์
์ ํ๋ค.
Enum๊ณผ ์ผ๊ธ ์ปฌ๋ ์
๋ชจ๋ ์ต์ํ์ง ์์์ ์ด๋์ฑ๋์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํด์ ์ฌ์ฉํ๋๋ฐ ํ๋ฉด์๋ ์ด๋ ๊ฒ ์ฌ์ฉํ๋๊ฒ ๋ง๋ ์ถ์ ์๊ฐ์ด ์ข ๋ค์๋ค. ์ด๋ฒ ๋ฏธ์
์ ์งํํ๋ฉด์ ๋ ์ฐ์ต์ ํด๋ด์ผ๊ฒ ๋ค.
๋ค๋ฅธ ํผ๋๋ฐฑ์ Lotto๋ฅผ ๋ถ๋ณ๊ฐ์ฒด๋ก ๋ง๋ค์ด๋ณด๋ฉด ์ด๋ป๊ฒ ๋๋ ๋ด์ฉ์ด์๋ค.
Lotto ํด๋์ค์๋ ์ ์๋ฅผ ๋ด๋ List๋ง ๊ฐ์ง๊ณ ์๋๋ฐ List๋ final๋ก ์ ์ธํด๋ ๋ด๋ถ์ ๊ฐ์ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ํ์๊ฐ ๊ฐ๋ฅํ๋ค. ๊ทธ๋์ ์ด๋ฐ ๊ฐ์ฒด๋ ์ด๋ป๊ฒ ๋ถ๋ณ๊ฐ์ฒด๋ก ๋ง๋ค์ด์ผํ๋์ง ์ฐพ์๋ณด์๊ณ ํด๊ฒฐ์ฑ
์ ์ฐพ์๋ค.
- ์์ฑ์์ ์ฃผ์ ๋ฐ๋ List ๊ฐ์ฒด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ์ง ๋ง๊ณ , ์๋ก์ด List๋ฅผ ๋ง๋ค๊ณ ๊ฐ๋ค์ ๋ณต์ฌํด์ ์ฌ์ฉํ ๊ฒ.
- getter๋ฉ์๋์์๋ Collections.unmodifiableList()๋ฅผ ํตํด์ ์์ ํ ์ ์๋ list๋ฅผ ๋ฐํํ ๊ฒ.
public class Lotto {
private final List<Integer> ticket;
public Lotto(List<Integer> ticket) {
this.ticket = List.copyOf(ticket);
}
public List<Integer> getTicket() {
return Collections.unmodifiableList(ticket);
}
}
๐ ์ข์๋์
- ๋ชฉํํ๋ ํ๋ฃจ ํ์ต๋์ ์ฑ์ ๋ค.
๐ช๐ป ๊ฐ์ ์
- ์๊ฐ์ ์ ๋ฆฌํด์ ๋งํ๋ ์ฐ์ต์ ํ์. ์งํ๋ก๊ทธ๋๋ฐ๋๋, ๊ทธ๋ฃน ๋ฆฌ๋ทฐ๋๋ ์ค๋ช ํ๋๊ฒ ๋๋ฌด ์ด๋ ต๊ฒ ๋๊ปด์ง๋ค.
'Thinks > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL-220224 (0) | 2022.11.18 |
---|---|
TIL-220223 (0) | 2022.11.18 |
TIL-220221 (0) | 2022.11.18 |
TIL-220216 (0) | 2022.11.18 |
TIL-220215 (0) | 2022.11.18 |