T.I.L #9 접근 제어자(Access Modifiers)

개발자지망생·2023년 10월 20일
0

접근 제어자(Access Modifiers)란

자바에서 접근 제어자(Access Modifiers)는 클래스, 변수, 메소드 및 다른 멤버에 대한 액세스 권한을 제어하는 데 사용되는 키워드이다. 접근 제어자는 다른 클래스나 패키지에서 멤버에 접근하는 권한을 제한하고 코드의 캡슐화와 보안을 강화한다. 자바에서는 다음 네 가지 주요 접근 제어자를 제공한다.

1. public

public 접근 제어자는 가장 넓은 범위의 엑세스 권한을 제공한다. public으로 선언된 멤버는 어떤 클래스에서든 접근할 수 있다.

2. protected

protected 접근 제어자는 상속 관계에 있는 클래스와 같은 패키지에 있는 클래스에서만 엑세스할 수 있도록 한다. 외부 패키지에 있는 클래스에서는 protected 멤버에 접근할 수 없다.

3. default(package-private)

접근 제어자를 지정하지 않은 경우, 멤버는 기본 접근 제어자를 가진다. 이것은 같은 패키지에 있는 클래스에서만 접근할 수 있도록 한다. 외부 패키지의 클래스에서는 접근할 수 없다.

4. private

private 접근 제어자는 해당 멤버에 대한 가장 엄격한 제한을 적용한다. private으로 선언된 멤버는 동일한 클래스 내에서만 접근할 수 있다. 상속 관계에 있는 하위 클래스에서도 접근할 수 없다.

public class MyClass {
    public int publicVariable; // 어디서든 접근 가능
    protected int protectedVariable; // 같은 패키지와 하위 클래스에서 접근 가능
    int defaultVariable; // 같은 패키지에서만 접근 가능 (package-private)
    private int privateVariable; // 같은 클래스에서만 접근 가능
}

또한, 접근 제어자는 메소드와 클래스에도 적용된다. 클래스에 대한 접근 제어자는 클래스의 외부에서 클래스를 인스턴스화 하거나 상속받을 수 있는지를 결정하며, 메소드에 대한 접근 제어자는 메소드의 호출 권한을 제어한다.

참고한 것 : 자바의 정석 , 구글 서칭

0개의 댓글