ITEM 16: Use Accessor methods
์ ํด๋์ค๋ ์๋ ๋ฌธ์ ์ ๋ค์ ๊ฐ์ง๊ณ ์๋ค.
์บก์ํ ์ด์ ์ ๊ณตํ์ง ๋ชปํจ(๋ฐ์ดํฐ ํ๋์ ์ง์ ์ ๊ทผ ๊ฐ๋ฅ)
๋ด๋ถ ํํ ๋ณ๊ฒฝ์ API ์์ ํ์
๋ถ๋ณ์ ๋ณด์ฅ ๋ถ๊ฐ๋ฅ
์ธ๋ถ์์ ํ๋์ ์ ๊ทผํ ๋ ๋ถ์ ์์ ์ํ ๋ถ๊ฐ๋ฅ
์ด๋ฌํ ๋ฌธ์ ์ ๋ค์ด ์ซ์ด ๋ณดํต ์๋์ ๊ฐ์ด private ํ๋๋ฅผ public ์ ๊ทผ์๋ก ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ๊ตฌํํ๋ค.
์ ๊ทผ์ ๋ฐฉ์
ํจํค์ง ๋ฐ๊นฅ์์ ์ ๊ทผํ ์ ์๋ ํด๋์ค๋ผ๋ฉด ์ ๊ทผ์๋ฅผ ์ ๊ณตํ์ฌ ํด๋์ค ๋ด๋ถ ํํ ๋ฐฉ์์ ์ธ์ ๋ ๋ฐ๊ฟ ์ ์๋ ์ ์ฐ์ฑ์ด ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก public ํด๋์ค์์ ์ด ๋ฐฉ์์ ํ์คํ ๋ง๋ค.
ํ์ง๋ง, package-private
, private
์ค์ฒฉ ํด๋์ค์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ํ๋๋ฅผ ๋
ธ์ถํ๋ค๊ณ ํด๋ ๊ทธ ํด๋์ค๊ฐ ํํํ๋ ค๋ ์ถ์ ๊ฐ๋
๋ง ์ฌ๋ฐ๋ฅด๊ฒ ํํํ๋ค๋ฉด ๋ฌธ์ ๊ฐ ์๋ค. ์ ๊ทผ์ ๋ฐฉ์๋ณด๋ค ํจ์ฌ ๊น๋ํ๋ฉฐ, ํจํค์ง ๋ฐ๊นฅ ์ฝ๋ ์ ๊ฒฝ์ฐ์ง ์๊ณ ๋ฐ์ดํฐ ํํ ๋ฐฉ์์ ๋ฐ๊ฟ ์ ์๋ค.
๋ถ๋ณ ํ๋
๋ค์๊ณผ ๊ฐ์ด public ํด๋์ค์ ํ๋๊ฐ ๋ถ๋ณ์ด๋ผ๋ฉด ๋ถ๋ณ์์ ๋ณด์ฅํ ์ ์๊ฒ๋์ด ์ง์ ๋ ธ์ถํ ๋์ ๋จ์ ์ ์ค์ง๋ง, ์ฌ์ ํ ๋จ์ ์ด ์กด์ฌํ๋ค.
๋ด๋ถ ํํ ๋ณ๊ฒฝ์ API ์์ ํ์
ํ๋๋ฅผ ์ฝ์ ๋ ๋ถ์ ์์ ์ ์ํํ ์ ์๋ค.
Last updated