๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋์ getter์ ์์์น ๋ชปํ ๋์์ ์ ํ์ต๋๋ค. ์ฌ๊ธฐ ๊ฐ์์ IntelliJ IDEA์์ ์์ฑ๋ ๊ฒํฐ์์๋ ๊ฐ์ฅ ๊ฐ๋จํ ์ฒด๊ณ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
public final class A { private A field; public A getField() { return field; } public void setField(A field) { this.field = field; } }
ํ๋๊ฐ ๊ธฐ๋ณธ ์ ํ์ด๊ฑฐ๋ ๊ฐ์ผ๋ก ์ ๋ฌ๋๋ ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ง๋ง ๊ฐ์ฒด๊ฐ ์ฐธ์กฐ๋ก ์ ๋ฌ๋๋ ๊ฒฝ์ฐ์๋ ๊ทธ๋ฐ ๋ค์ getter๋ฅผ ํตํด ํ๋์ ๋ํ ์ ์ฒด ์ก์ธ์ค ๊ถํ์ ์ป์ ์ ์์ผ๋ฉฐ, ์ด๋ ์ค์ ๋ ๋ณดํธ ์ก์ธ์ค ์์ค์ ๋ฌดํจํํฉ๋๋ค. setter์ ์ ํจ์ฑ ์กฐ๊ฑด์ด ํฌํจ๋์ด ์์ผ๋ฉด ๊ทธ๋ฌํ getter๋ฅผ ํตํด ์ฐํํ ์ ์์ผ๋ฉฐ ์ด๋ ์บก์ํ๋ฅผ ์๋ฐํ๋ฏ๋ก ์ด ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ ์ํด ๊ฐ์ฒด์ ๋ณต์ ๋ณธ์ ๋ง๋๋ ๊ฒ์ด ์ณ์ต๋๋ค. ๋ชจ๋ ๊ฐ์ฒด๊ฐ ์ฝ๊ฒ ๋ณต์ ๋ ์๋ ์๋ค๋ ์ ์ ์ดํดํ๋ฉฐ, ์ด๊ฒ์ด ํ๋ก๊ทธ๋๋จธ์ ์ฑ
์์ ๋งก๊ฒจ์ง๋ค๋ฉด ๊ฐ์ ์ด๋์๋ ์ด์ ๋ํ ์ธ๊ธ์ด ์๋ ์ด์ ๊ฐ ์ด์ํฉ๋๋ค. UPD: ๋ฌผ๋ก ์์ด๋์ด๋ก์์ getter๋ ์บก์ํ๋ฅผ ์๋ฐํ์ง ์์ง๋ง OOP ์์น์ ๋ฐฐ๋ฐํ์ง ์๋ ๋ฐฉ์์ผ๋ก ์์ฑ๋์ด์ผ ํฉ๋๋ค. ์ด๋ getter๊ฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ ํด๋์ค์ ์ง์ ๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ๋ฐฉ์์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. Collections ํด๋์ค์๋ ์ฝ๊ธฐ ์ ์ฉ ์ปฌ๋ ์
์ ์์ฑํ๋ ํ๋ฅญํ ๋ฉ์๋๊ฐ ์์ต๋๋ค. ์ด๋ ์ ๋ ฌ ๋ถ๊ฐ๋ฅ๊ณผ ๊ฐ์ ์ฌ๋ฌ ๊ฐ์ง ๋ค๋ฅธ ์ ํ ์ฌํญ์ ๋ถ๊ณผํ์ง๋ง ์ด ๊ฒฝ์ฐ ์ด ํด๋์ค์๋ ๋ ๋์ ํธ์๋ฅผ ์ํด unmodifyingSortedSet unmodifyingSortedMap ๋ฐ ๋ช ๊ฐ์ง ๋ ๋ง์ ์ ํ ์ฌํญ์ด ์์ต๋๋ค. public static
Collection
unmodifiableCollection(Collection c)
GO TO FULL VERSION