다른 패키지 혹은 다른 클래스에서 해당 필드에 접근할 수 있는
권한을 설정해주는 키워드들 이다!
접근제어자 종류로는 총 4가지로 나뉘며 public, protected, default, private 가 있습니다!
각 각 접근 권한 범위가 다르며 자세하게 확인 하기 위해 표와 함께 설명을 적어놓겠습니다!
(default) : 다른 패키지에서 접근 불가하며, 동일 한 패키지에서만 접근이 가능합니다.
public : 모든 곳에서 접근 가능합니다.
private : 다른 클래스에서 접근 불가하며, 자기 자신의 클래스에서만 접근이 가능합니다.
protected : 다른 패키지에서 접근 불가하며, 동일한 패키지에서만 접근이 가능합니다. / 대신 자식클래스에서는 접근이 가능합니다!(extends 사용하여 접근 가능)
위 중 private 필드는 직접 접근할 방법이 하나도 없기 때문에
무조건 public 메소드를 통해서 간접적으로 접근을 하게 한다.이 때! public 메서드를 사용하면 private 변수를 외부 접근이 가능하게 만들수 있다.
보통 이 메서드 이름을 getter/setter로 짓는다. 이름은 아무 이름이나 상관 없지만 약간 규칙 같은 개념이다!
(값을 사용하는 경우 : getter / 수정하는 경우 : setter)private String name; private boolean isBorrowed; public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isBorrowed() { return isBorrowed; } public void setBorrowed(boolean isBorrowed) { this.isBorrowed = isBorrowed; }
private 사용하면 외부에서 클래스 내부의 정보에 접근을 막을 수 있다. 일종의 guard인 셈
클래스 내부 데이터를 잘못 접근,사용하는 오류를 방지하기 위함이다.