은닉성(=캡슐화)
외부 (클래스밖)와의 접근을 차단 또는 허용하도록 제어
접근 지정자를 사용하여 변수, 메소드의 접근을 차단/허용할 수 있다

접근지정자
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;
    }
}

 

 

+ Recent posts