○ 접근지정자
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();
}
}
'IT > Java' 카테고리의 다른 글
자바 패키지, 임포트(import)문, ArrayList (0) | 2018.07.16 |
---|---|
자바 데이터은닉, 객체배열 (0) | 2018.07.16 |
자바 메소드 오버로딩, 가변인자, 정수형 합 리턴 함수 예제 (0) | 2018.07.16 |
자바 메소드 오버로딩, 비정형인자, 가변인자 예제소스 (0) | 2018.07.16 |
자바 클래스 메소드 오버로딩 (0) | 2018.07.15 |