은닉성(=캡슐화)
외부 (클래스밖)와의 접근을 차단 또는 허용하도록 제어
접근 지정자를 사용하여 변수, 메소드의 접근을 차단/허용할 수 있다
접근지정자
private(개인적인) : 외부 접근 차단
public (대중적인) : 어디든지 접근이 가능
protected (보호) : 상속 관련 / 자식클래스에서 접근 허용 / 외부 접근 차단
public class MyClass {
// 내부에서 멤버 변수와 멤버 함수 간의 접근은 ok
// (멤버) 변수 -> 거의 private 99%
private int number;
public String name; // 은닉성 위배
protected double height;
// (멤버) 함수 -> 거의 public 100%. 클래스 내부에서만 쓸 때는 private
private void function() {
System.out.println("MyClass function()");
}
public void method() { // default값은 외부 접근 불가
System.out.println("MyClass method()");
}
public int getNumber() {
return number;
}
public void setNumber(int i) {
number = i;
}
}