Item 16. Accessor Method
public ํด๋์ค์์๋ public ํ๋๊ฐ ์๋ ์ ๊ทผ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ผ
์ ๊ทผ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ง ์์ ํด๋์ค
class Point {
public double x;
public double y;
}
์ ๊ทผ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ง ์์ ํด๋์ค๋ ํด๋ผ์ด์ธํธ๊ฐ ํ๋์ ์ง์ ์ ๊ทผํ ์ ์์ด ์บก์ํ์ ์ด์ ์ ์ ๊ณตํ์ง ๋ชปํ๋ค.
java.awt.package
์ Point
์ Dimension
ํด๋์ค๊ฐ ์ด๋ ๊ฒ ์์ฑ๋์๋๋ฐ, ์ฌ์ ํ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ์ ์ข์ ์์ด๋ค.
๋ง์ฝ ๋ถ๋ณ์ผ๋ก ์ ์ธ๋์์ผ๋ฉด ๊ทธ๋๋ง ๋ซ์ง๋ง, API๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ๋ด๋ถ ํํ์ ๋ฐ๊ฟ ์ ์๋ ๋จ์ ์ด ์ฌ์ ํ ์กด์ฌํ๋ค.
์ ๊ทผ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ํด๋์ค
class Point {
private double x;
private double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
}
์ ๊ทผ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ํด๋์ค๋ ๋ด๋ถ ํํ ๋ฐฉ์์ ์ธ์ ๋ ๋ฐ๊ฟ ์ ์๋ ์ ์ฐ์ฑ์ ์ ๊ณตํ๋ค.
public ํด๋์ค๊ฐ ์๋ package-private ํด๋์ค ํน์ private ์ค์ฒฉ ํด๋์ค
์ด ๋ฌธ์์์ ๋ค๋ฃฌ ํน์ง๋ค์ public ํด๋์ค์๋ง ํด๋นํ๋ค. package-private ํด๋์ค๋ private ์ค์ฒฉ ํด๋์ค๋ผ๋ฉด ๋ฐ์ดํฐ ํ๋๋ฅผ ๋ ธ์ถํ๋ค ํด๋ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ, ๊ทธ ํด๋์ค๊ฐ ํํํ๋ ค๋ ์ถ์ ๊ฐ๋ ๋ง ์ฌ๋ฐ๋ฅด๊ฒ ํํํด์ฃผ๋ฉด ๋๋ค.
ํด๋ผ์ด์ธํธ ์ฝ๋ ๋ฉด์์ ์ ๊ทผ์ ๋ฐฉ์๋ณด๋ค ๊น๋ํ๊ฒ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ํด๋ผ์ด์ธํธ ์ฝ๋๊ฐ ํด๋น ํด๋์ค(public ํ๋๋ก ์ด์ด๋์)์ ๋ด๋ถ ํํ์ ๋ฌถ์ด๊ธฐ๋ ํ์ง๋ง, ์ด ํด๋ผ์ด์ธํธ ํด๋์ค๋ ํจํค์ง ์์์๋ง ๋์ํ๊ธฐ ๋๋ฌธ์ ํจํค์ง ๋ฐ๊นฅ ์ฝ๋์๋ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
Last updated
Was this helpful?