>Java >java지도 시간 >Java에서 액세스 한정자를 사용하는 방법

Java에서 액세스 한정자를 사용하는 방법

WBOY
WBOY앞으로
2023-05-10 19:55:041006검색

Java의 액세스 한정자는 클래스, 인터페이스, 필드 및 메소드의 액세스 범위를 제한하는 데 사용됩니다. 이들은 각각 서로 다른 액세스 제어 수준을 나타냅니다. Java에는 public, protected, default 및 private의 네 가지 액세스 수정자가 있습니다.

public

public은 가장 개방적인 액세스 수정자이며 공개 액세스 수준을 지정하는 데 사용됩니다. 공개적으로 수정된 클래스, 인터페이스, 필드 및 메서드는 어디에서나 액세스할 수 있습니다.

예를 들어 다음 코드는 공개 클래스를 정의합니다.

public class MyClass {
    // ...
}

이 클래스는 어디에서나 액세스할 수 있습니다. 또한 메서드나 필드가 공개로 선언되면 어디에서나 액세스할 수 있습니다. 예:

public class MyClass {
    public String name;
    public void sayHello() {
        System.out.println("Hello, world!");
    }
}

protected

protected는 보호된 액세스 수준을 지정하는 데 사용됩니다. protected로 수정된 클래스, 필드 및 메서드는 이 패키지의 다른 클래스와 하위 클래스에서 액세스할 수 있습니다.

예를 들어 다음 코드는 보호 클래스를 정의합니다.

package mypackage;
protected class MyProtectedClass {
    // ...
}

이 클래스는 mypackage 패키지 내의 다른 클래스와 MyProtectedClass를 상속하는 하위 클래스에서만 액세스할 수 있습니다. 또한 메서드나 필드가 protected로 선언된 경우 동일한 패키지의 다른 클래스는 물론 이 클래스를 상속하는 하위 클래스에서도 액세스할 수 있습니다. 예:

package mypackage;
public class MyClass {
    protected String name;
    protected void sayHello() {
        System.out.println("Hello, world!");
    }
}

이 클래스의 name 및 sayHello 메서드는 mypackage 패키지의 다른 클래스뿐 아니라 MyClass를 상속하는 하위 클래스에서도 액세스할 수 있습니다.

default

default는 Java의 기본 액세스 한정자이며 패키지 수준 개인 액세스 제어라고도 합니다. 클래스, 인터페이스, 필드 또는 메서드가 액세스 한정자를 사용하지 않는 경우 이것이 기본 액세스 수준입니다. 기본 액세스 수준은 동일한 패키지 내에서만 액세스가 가능함을 의미합니다.

예를 들어 다음 코드는 기본 액세스 수준으로 클래스를 정의합니다.

package mypackage;
class MyDefaultClass {
    // ...
}

이 클래스는 mypackage 패키지 내의 다른 클래스에서만 액세스할 수 있습니다. 또한 메서드나 필드가 액세스 한정자를 사용하지 않는 경우 이는 기본 액세스 수준이기도 합니다. 예:

package mypackage;
public class MyClass {
    String name;
    void sayHello() {
        System.out.println("Hello, world!");
    }
}

이 클래스의 name 및 sayHello 메소드는 mypackage 패키지의 다른 클래스에서만 액세스할 수 있습니다.

private

private은 가장 제한적인 액세스 수정자이며 개인 액세스 수준을 지정하는 데 사용됩니다. private으로 수정된 필드와 메서드는 해당 항목이 정의된 클래스 내에서만 액세스할 수 있습니다.

예를 들어 다음 코드는 비공개 클래스를 정의합니다.

public class MyClass {
    private String name;
    private void sayHello() {
        System.out.println("Hello, world!");
    }
}

이 클래스의 name 및 sayHello 메서드는 MyClass 클래스 내에서만 액세스할 수 있습니다.

위 내용은 Java에서 액세스 한정자를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제