IT/Java

자바 접근지정자 public, protected, 생략(package), private

노마드오브 2018. 7. 16. 01:46

접근지정자

public : 모두 접근 가능, 같은 프로젝트내에 있는 것에 접근 가능

protected : 패키지 기준 포함 + 다른 패키지의 상속관계 서브클래스는 접근 가능. 

생략(package) : 같은 패키지의 클래스에게만 공개.

      private : 같은 클래스 내에서만 접근가능. 외부에선 접근 불가능.




○ 예제소스


파일명 : Test6.java


package java0713;


class Point2D {

private int x;  // 데이터은닉 -> 캡슐화

private int y;


// 기본생성자

public Point2D() {}  // 전체공개


// x y 값을 받는 생성자

public Point2D(int x, int y) {

this.x = x;

this.y = y;

}


// private로 데이터 은닉된 멤버변수를 접근할 수 있는 통로

// public 메소드 getter & setter

public int getX() {

return x;

}


public void setX(int x) {

this.x = x;

}


public int getY() {

return y;

}


public void setY(int y) {

this.y = y;

}

public void prn() {

System.out.println(x+", "+y);

}

}




public class Test6 {


public static void main(String[] args) {

Point2D p = new Point2D();

// p.x = 10;  // 데이터은닉으로 인해 접근 불가 

p.setX(10);

p.setY(20);

System.out.println(p.getX());

System.out.println(p.getY());

p.prn();

}


}