반응형
package org.opentutorials.javatutorials.accessmodifier;
class Test {
public String y() {
return "public void y()";
}
private String z() {
return "private void z()";
}
public String x() {
return z();
}
}
public class AccessDemo {
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.y());
//System.out.println(t.z()); //error
System.out.println(t.x());
}
}
출력값
public void y()
private void z()
package org.opentutorials.javatutorials.accessmodifier;
class Calculator {
private int left, right;
public void setOperands(int left, int right) {
this.left = left;
this.right = right;
}
private int sum() {
return this.left + this.right;
}
public void sumDecoPlus() {
System.out.println("+++ " + sum() + " +++");
}
public void sumDecoMinus() {
System.out.println("--- " + sum() + " ---");
}
}
public class CalculatorDemo {
public static void main(String[] args) {
Calculator c1 = new Calculator();
c1.setOperands(10, 20);
c1.sumDecoPlus();
c1.sumDecoMinus();
}
}
출력값
+++ 30 +++
--- 30 ---
public 은 모두 접근 가능하다.
private 는 같은 class 에서만 접근 가능하다
클래스에 this.메서드()를 작성하였을 때, 클래스에 해당 메서드가 없고 상속받은 부모 메서드에 해당 메서드가 있으면
this.메서드는 부모 메서드 이다.
같은 클래스 | 같은 패키지 | 다른 패키지 / 자식 클래스 | 전 체 | |
public | O | O | O | O |
protected | O | O | O | X |
default | O | O | X | X |
private | O | X | X | X |
반응형
'Java' 카테고리의 다른 글
[Java] abstract (0) | 2021.03.14 |
---|---|
[Java] 클래스 접근 제어자 (0) | 2021.03.14 |
[Java] overloading 오버로딩 (0) | 2021.03.11 |
[Java] overrding 오버라이딩 (0) | 2021.03.09 |
[Java] 생성자, super (0) | 2021.03.09 |