[JAVA] 접근제어자

Sia·2023년 9월 5일
0

접근제어자 란!

다른 패키지 혹은 다른 클래스에서 해당 필드에 접근할 수 있는
권한을 설정해주는 키워드들 이다!

접근제어자 종류와 권한 범위

접근제어자 종류로는 총 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 사용 이유!

private 사용하면 외부에서 클래스 내부의 정보에 접근을 막을 수 있다. 일종의 guard인 셈
클래스 내부 데이터를 잘못 접근,사용하는 오류를 방지하기 위함이다.

0개의 댓글