"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java 언어 액세스 수정자

Java 언어 액세스 수정자

2024-09-01에 게시됨
검색:809

Modificadores de acesso da linguagem Java

수정자 유형:

  • public: 다른 클래스의 메서드를 포함하여 모든 프로그램 코드로 클래스 멤버에 대한 액세스를 허용합니다.
  • private: 클래스 자체 내에서 멤버 액세스를 제한하여 다른 클래스의 메서드가 멤버에 직접 액세스하지 못하도록 합니다.
  • protected: 상속에 사용되며 8장에서 다룰 예정입니다.
  • 기본 액세스: 수정자를 사용하지 않으면 패키지와 관련된 경우를 제외하고 액세스는 공개와 동일합니다.

수정자의 예:
멤버 선언에서 공개 및 비공개를 사용하는 방법의 예:

  • 공개 문자열 errMsg;
  • 개인 계정잔고;
  • 개인 부울 isError(바이트 상태) { // ... }

실제 시연:
클래스의 액세스 제어:

  • MyClass의 알파와 같은 비공개 멤버는 클래스 자체의 메서드로만 액세스할 수 있습니다.
  • 접근자 메서드(getAlpha() 및 setAlpha())를 통해 공개 메서드로 비공개 멤버에 액세스합니다.
  • 다른 클래스의 비공개 멤버에 직접 액세스하려고 하면 컴파일 오류가 발생합니다.
class MyClass {
    private int alpha; // acesso privado
    public int beta;   // acesso público
    int gamma;         // acesso padrão (equivalente a public neste contexto)

    // Métodos para acessar alpha
    void setAlpha(int a) {
        alpha = a;
    }

    int getAlpha() {
        return alpha;
    }
}

사용 예: 클래스 AccessDemo.java

결과:

  • 비공개 멤버 alpha에 대한 액세스는 공개 메소드 setAlpha() 및 getAlpha()를 통해서만 수행될 수 있습니다.
  • MyClass 클래스 외부의 알파에 직접 액세스하는 것은 금지되어 있어 컴파일 오류가 발생합니다.

예: FailSoftArray:

  • 배열이 공개 메서드로만 액세스되는 비공개 멤버로 캡슐화되는 "내결함성" 배열을 구현합니다.
  • 캡슐화: 범위를 벗어난 액세스로부터 배열을 보호하여 런타임 예외를 방지합니다.
  • 비공개 멤버: a, errval 및 indexOK()는 비공개이며 배열의 무결성을 보호합니다.
  • 공개 멤버: 길이는 공개되어 Java의 표준 배열 구현과 유사하게 배열 크기를 쿼리할 수 있습니다.
  • 공용 메서드: put() 및 get()은 배열에서 값을 저장하고 검색하는 데 사용되며 액세스를 안전하게 제어합니다.

결론:
액세스 제어는 성공적인 객체 지향 프로그래밍에 매우 중요하며, 특히 상속을 처리하고 데이터 무결성을 보장할 때 더욱 그렇습니다.

결과:
"내결함성" 배열은 범위를 벗어난 인덱스에 액세스하려고 할 때 런타임 오류를 방지합니다.
배열 요소에 대한 액세스는 제한 검사와 함께 공용 메소드 get() 및 put()을 통해 안전하게 수행됩니다.
프로그램은 자동 오류를 표시한 다음 오류를 명시적으로 처리하여 인덱스가 범위를 벗어난 경우를 표시합니다.
다음 예는 클래스 멤버에 대한 액세스를 제어하고 데이터 무결성과 보안을 보장하기 위해 Java 액세스 수정자(공개, 비공개 및 기본 액세스)가 적용되는 방법을 보여줍니다.

릴리스 선언문 이 기사는 https://dev.to/devsjavagirls/modificadores-de-acesso-da-linguagem-java-41?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]에 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3