//자바 클래스의 private 접근제어자와 getter/setter 예제
public class Pg62 {
public static void main(String[] args) {
Rectangle2 r1 = new Rectangle2(5,3,10,20);
r1.print();
r1.draw();
Rectangle2 r2 = new Rectangle2(8,9,10,20);
r2.print();
r2.draw();
System.out.println("r2의 넓이는 :" +r2.area());
}
}
class Shape2{
private int x;
private int y;
public Shape2(int x,int y) {
this.x = x;
this.y = y;
}
public void print() {
System.out.printf("x좌표 : %d, y좌표: %d\n",this.x,this.y);
}
public int getX() {
return this.x;
}
public int getY() {
return this.y;
}
}
class Rectangle2 extends Shape2{
private int width;
private int height;
Rectangle2(int x, int y, int width, int height){
super(x,y);
this.width=width;
this.height = height;
}
public double area() {
return width * height;
}
public void draw() {
System.out.printf("(%d, %d) 위치에 가로: %d 세로: %d\n",super.getX(),super.getY(),this.width, this.height);
}
}
public class Pg62 {
public static void main(String[] args) {
Rectangle2 r1 = new Rectangle2(5,3,10,20);
r1.print();
r1.draw();
Rectangle2 r2 = new Rectangle2(8,9,10,20);
r2.print();
r2.draw();
System.out.println("r2의 넓이는 :" +r2.area());
}
}
class Shape2{
private int x;
private int y;
public Shape2(int x,int y) {
this.x = x;
this.y = y;
}
public void print() {
System.out.printf("x좌표 : %d, y좌표: %d\n",this.x,this.y);
}
public int getX() {
return this.x;
}
public int getY() {
return this.y;
}
}
class Rectangle2 extends Shape2{
private int width;
private int height;
Rectangle2(int x, int y, int width, int height){
super(x,y);
this.width=width;
this.height = height;
}
public double area() {
return width * height;
}
public void draw() {
System.out.printf("(%d, %d) 위치에 가로: %d 세로: %d\n",super.getX(),super.getY(),this.width, this.height);
}
}
==========================Manual==========================
자바에서 private 접근 제어자는 자신의 클래스를 제외한 외부 어떠한 곳에서도 접근이 불가능하도록 만드는 제어자다. 따라서 private 으로 선언된 멤버 필드는 getter 와 setter 를 통해 가져오거나 수정할 수 있다. getter 는 별도의 함수를 통해 private 필드를 return 으로 내보내는 방식의 함수를 의미하고, setter 는 매개변수로 받아 수정할 수 있도록 구성된 함수를 말한다.
위의 예제에서는 private으로 선언된 필드를 접근하기 위해 getX( ), getY( )를 이용한다. 다만 값을 설정하기 위해서는 예를 들어 setX( parameter ), setY(parameter) 함수를 만들어야 한다. set함수에서는 this 를 통해 객체의 필드 값을 수정할 수 있을 것이다.
결과화면
댓글
댓글 쓰기