1. 클래스 수식자는 접근 제어 문자와 비접근 제어 문자의 두 가지 유형으로 구분됩니다.
액세스 제어 기호는 다음과 같습니다. public class modifier public
비액세스 제어 연산자에는 다음이 포함됩니다. 추상 클래스 수정자 추상 최종 클래스 수정자 최종
1) 공용 클래스 수정자 public: Java 언어의 클래스에 대해 하나의 액세스 제어 수정자(public)만 있습니다. 모든 Java 프로그램의 메인 클래스는 공용 클래스여야 하며, 다른 클래스나 프로그램에서 사용하기 위한 공용 도구이므로 공용 클래스로 정의해야 합니다.
2) 추상 클래스 수정자 추상: 추상 수정자로 수정된 모든 클래스를 추상 클래스라고 합니다. 소위 추상 클래스는 구체적인 객체가 없는 개념적 클래스를 말합니다. 이러한 클래스는 Java 언어의 추상 클래스입니다.
3) 최종 클래스 수정자 final: 클래스가 하위 클래스를 가질 수 없는 경우 수정자 final을 사용하여 해당 클래스를 최종 클래스로 나타낼 수 있습니다. final로 정의된 클래스는 일반적으로 고정된 역할을 갖고 특정 표준 기능을 완료하는 데 사용되는 클래스입니다.
4) 클래스 기본 접근 제어 문자: 클래스에 접근 제어 문자가 없으면 기본 접근 제어 문자가 있다는 의미입니다. 현재 이 클래스는 동일한 패키지에 있는 클래스에서만 액세스하거나 참조할 수 있습니다. 이 액세스 기능을 패키지 접근성이라고도 합니다.
2. 도메인 제어 수정자는 접근 가능한 제어 문자와 비접근 제어 문자라는 두 가지 범주로 나뉩니다.
접근 제어 문자에는 4가지 유형이 있습니다: 공개 접근 제어 문자: 공개, 개인 접근 제어 문자: 개인 보호 접근 제어 문자: 개인 보호
비액세스 제어 수정자에는 4가지 유형이 있습니다. 정적 도메인 수정자: 정적, 최종 도메인 수정자: 휘발성(공유) 도메인 수정자: 임시 도메인 수정자: 임시
1) 공개 접근 제어 문자 public : public으로 수정된 도메인을 퍼블릭 도메인(public domain)이라고 합니다. 공용 필드가 공용 클래스에 속하면 다른 모든 클래스에서 참조할 수 있습니다. public 수정자는 운영 보안 및 데이터 캡슐화를 감소시키므로 일반적으로 public 필드의 사용을 줄여야 합니다.
2) Private 접근 제어 문자 private: private으로 수정된 멤버 변수(필드)는 클래스 자체에서만 접근 가능하며 다른 클래스(서브클래스 포함)에서는 참조할 수 없습니다.
3) 보호된 액세스 제어 문자 protected: protected로 수정된 멤버 변수는 세 가지 범주로 참조될 수 있습니다: ① 클래스 자체, ② 동일한 패키지에 있는 다른 클래스, ③ 다른 패키지에 있는 이 클래스의 하위 클래스. protected 한정자를 사용하는 주요 목적은 다른 패키지의 하위 클래스가 상위 클래스의 특정 속성에 액세스할 수 있도록 허용하는 것입니다.
4) Private protected 액세스 제어 기호 private protected: private protected 수식어로 수정된 멤버 변수는 클래스 자체 또는 해당 하위 클래스에서 액세스하고 참조할 수 있습니다.
5) 정적 도메인 수정자 static: static으로 수정된 멤버 변수는 클래스의 변수에만 속하며 특정 객체에는 속하지 않습니다. 정적 멤버 변수의 값은 의 메모리 영역의 공용 저장 단위에 저장됩니다. 특정 객체의 메모리 범위에 저장되는 것이 아니라 클래스입니다. 어떤 클래스의 객체가 액세스하면 동일한 데이터를 얻습니다. 어떤 클래스의 객체가 이를 수정하면 동일한 메모리 단위에서 작동합니다.
6) 최종 도메인 수정자 final: 최종 도메인 수정자 final은 기호 상수를 정의하는 데 사용됩니다. 클래스의 도메인(멤버 변수)이 final 수정자에 의해 지정되면 해당 값은 프로그램이 실행되는 동안 변경되지 않습니다.
7) 휘발성(공유) 도메인 수정자 휘발성: 휘발성(공유) 도메인 수정자 휘발성은 이 멤버 변수가 여러 스레드에 의해 제어되고 수정될 수 있음을 나타내는 데 사용됩니다. 즉, 프로그램이 실행되는 동안 이 멤버 변수는 다른 프로그램의 영향을 받거나 그 값이 변경될 수 있습니다. 따라서 사용 중 이 멤버변수의 값이 어떻게 변하는지 주의 깊게 살펴보아야 한다. 일반적으로 휘발성은 외부 입력을 허용하는 필드를 수정하는 데 사용됩니다.
8) 임시 도메인 수정자 임시: 임시 도메인 수정자 임시는 임시 변수를 정의하는 데 사용됩니다. 그 특징은 다음과 같습니다. 임시 변수로 한정된 임시 변수는 Java 가상 머신을 지정하여 임시 변수가 영구 상태에 속하지 않는지 확인하여 다양한 개체의 보관 기능을 실현합니다. 그렇지 않으면 클래스의 모든 변수는 객체의 영구 상태의 일부가 되며 객체가 저장될 때 저장되어야 합니다.
3. 메소드의 제어 한정자는 액세스 가능한 제어 문자와 비액세스 제어 문자라는 두 가지 범주로 나뉩니다.
접근 제어 문자에는 4가지 유형이 있습니다: 공개 접근 제어 문자: 공개, 개인 접근 제어 문자: 개인 보호 접근 제어 문자: 개인 보호
비액세스 제어 문자에는 5가지 유형이 있습니다: 추상 메소드 제어 문자: 정적; 최종 메소드 제어 문자: 최종; 동기 메소드 제어 문자: 동기화
1) 추상 메서드 제어 기호 추상: 수식어 abstract로 수정된 메서드를 추상 메서드라고 합니다. 추상 메서드는 메서드 헤더만 있고 메서드 본문과 작업 구현은 없는 메서드입니다.
2) 정적 메소드 제어 기호 static: static 수식어로 수정된 메소드를 정적 메소드라고 합니다. 정적 메서드는 전체 클래스에 속하는 클래스 메서드입니다. 정적 메서드로 수정되거나 정규화되지 않은 메서드는 특정 클래스 개체에 속하는 메서드입니다. 정적 메서드는 클래스 전체에 속하므로 객체에 속한 멤버 변수를 조작 및 처리할 수 없고, 클래스 전체에 속한 멤버 변수만 처리할 수 있습니다. 즉, 정적 도메인만 처리할 수 있습니다.
3) 최종 메소드 제어 문자 final: final 수식자로 수정된 메소드를 최종 메소드라 한다. 최종 메서드는 기능과 내부 문을 변경할 수 없는 메서드입니다. 즉, 최종 메서드를 오버로드할 수 없습니다. 이런 방식으로 이 메소드의 기능과 동작이 고정되어 현재 클래스의 하위 클래스가 상위 클래스의 주요 메소드를 잘못 정의하는 것을 방지하고 프로그램의 안전성과 정확성을 보장합니다. private 한정자에 의해 private으로 자격이 부여된 모든 메서드와 final 클래스에 포함된 모든 메서드는 최종 메서드로 간주됩니다.
4) 로컬 메소드 제어 기호 네이티브: 네이티브 수식어로 수정된 메소드를 로컬 메소드라고 합니다. 프로그램의 실행 속도를 향상시키려면 프로그램의 메소드 본문을 다른 고급 언어로 작성해야 합니다. 그런 다음 메소드를 로컬 메소드로 정의하고 네이티브 수정자로 수정할 수 있습니다.
5) 동기화 방법 제어 수정자 동기화: 이 수정자는 멀티 스레드가 공존하는 프로그램에서 조정 및 동기화에 주로 사용됩니다.