수정자 유형:
- public:다른 클래스의 메서드를 포함하여 모든 프로그램 코드로 클래스 멤버에 액세스할 수 있습니다.
- private:클래스 자체 내에서 멤버 액세스를 제한하여 다른 클래스의 메서드가 멤버에 직접 액세스하지 못하도록 합니다.
- protected:상속에 사용되며 8장에서 다룰 예정입니다.
- 기본 액세스:수식어를 사용하지 않으면 패키지와 관련된 경우를 제외하고 액세스는 공개와 동일합니다.
수정자의 예:
멤버 선언에서 공개 및 비공개를 사용하는 방법의 예:
- 공개 문자열 errMsg;
- 개인 계정Balance bal;
- private boolean isError(byte status) { // ... }
실제 시연:
수업 내 액세스 제어:
- MyClass의 알파와 같은 Private 멤버는 클래스 자체의 메서드로만 액세스할 수 있습니다.
- 접근자 메서드(getAlpha() 및 setAlpha())를 통해 공개 메서드로 비공개 멤버에 액세스합니다.
- 다른 클래스의 비공개 멤버에 직접 액세스하려고 하면 컴파일 오류가 발생합니다.
으아악
사용 예: AccessDemo.java 클래스
결과:
- 비공개 멤버 alpha에 대한 액세스는 공개 메서드 setAlpha() 및 getAlpha()를 통해서만 수행할 수 있습니다.
- MyClass 클래스 외부의 알파에 직접 액세스하는 것은 금지되어 있어 컴파일 오류가 발생합니다.
예: FailSoftArray:
- 배열이 비공개 멤버로 캡슐화되고 공개 메서드로만 액세스되는 "내결함성" 배열을 구현합니다.
- 캡슐화:범위를 벗어난 액세스로부터 배열을 보호하여 런타임 예외를 방지합니다.
- 비공개 멤버:a, errval 및 indexOK()는 비공개이므로 배열의 무결성을 보호합니다.
- Public 멤버: 길이는 공개되어 Java의 표준 배열 구현과 유사하게 배열의 크기를 쿼리할 수 있습니다.
- 공개 메서드:put() 및 get()은 배열에서 값을 저장하고 검색하여 액세스를 안전하게 제어하는 데 사용됩니다.
결론:
액세스 제어는 성공적인 객체 지향 프로그래밍에 매우 중요하며, 특히 상속을 처리하고 데이터 무결성을 보장할 때 더욱 그렇습니다.
결과:
"내결함성" 배열은 범위를 벗어난 인덱스에 액세스하려고 할 때 런타임 오류를 방지합니다.
배열 요소에 대한 액세스는 공개 메소드 get() 및 put()을 통해 제한 검사와 함께 안전하게 수행됩니다.
프로그램은 자동 실패를 표시한 다음 실패를 명시적으로 처리하여 인덱스가 범위를 벗어난 시기를 표시합니다.
이 예에서는 클래스 멤버에 대한 액세스를 제어하고 데이터 무결성과 보안을 보장하기 위해 Java 액세스 수정자(공개, 비공개 및 기본 액세스)가 적용되는 방법을 보여줍니다.
위 내용은 Java 언어 액세스 수정자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!