자바 접근제한자
유형 | 같은 클래스 | 같은 패키지 | 자식 클래스 | 기타영 |
public | O | O | O | O |
protected | O | O | O | X |
선언x(default) | O | O | X | X |
private | O | X | X | X |
public: 모든 곳에서 접근이 가능하다.
protected : 패키지 및 모든 하위 클래스에서 접근할 수 있다.
default : 동일한 패키지안에서만 접근이 가능하다.
private: 같은 클래스 안에서만 접근이 가능하다.
public
사용법
package chap01;
public class Exam01 {
public void run() {
System.out.println("뛰어다니다");
}
}
//public 로 선언된 메서드 접근
package chap01;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Exam01 test = new Exam01();
test.run();
}
}
protected
같은 패키지 안에서 접근 방법은 public와 동일하지다.
다른 패키지의 자식 클래스에서 접근 방법
package chap01;
public class Exam01 {
protected void name() {
System.out.println("내이름은 홍길동이다");
}
}
//다른 패키지 의 자식 클래스에서 접근 방법
package chap02;
import chap01.Exam01;
public class Test02 extends Exam01{
public static void main(String[] args) {
// TODO Auto-generated method stub
Test02 child =new Test02();
child.name();
}
}
private
private은 자신 클래스에서만 접근 가능하기에
get, set 메서드를 public로 만들어서 접근할 수 있다.
package chap01;
public class Exam01 {
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
System.out.println(age);
}
}
//접근방법
package chap01;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Exam01 test = new Exam01();
test.setAge(10);
test.getAge();
}
}
반응형
'자바 공부 > 자바' 카테고리의 다른 글
자바 추상클래스,인터페이스 (1) | 2024.04.14 |
---|---|
자바 - JDBC (0) | 2024.04.10 |
자바 클래스 (0) | 2024.04.10 |
자바 메서드 (0) | 2024.04.05 |
[자바] 변수 선언,데이터 타입, (0) | 2024.02.02 |