액세스 수정자
액세스 한정자는 액세스 수준을 제어하기 위해 클래스, 변수, 메서드 및 생성자와 함께 사용되는 키워드입니다.
Java에는 4개의 액세스 수정자가 있습니다.
-
기본값
액세스 수정자가 지정되지 않으면 java가 기본 수정자로 처리됩니다. 기본 수정자의 범위는 패키지 내로 제한됩니다. -
공개
public 수정자의 범위는 패키지 외부와 모든 곳에서 액세스하는 것입니다. -
비공개
private 수정자의 범위는 클래스 자체 내에서 액세스하는 것입니다. -
보호됨
보호된 수정자의 범위는 패키지 및 모든 하위 클래스 내에서 제한됩니다.
비접근 수정자
비액세스 수식어는 액세스 수준과 관련이 없지만 지정된 경우 특별한 기능을 제공하는 키워드입니다.
-
최종
final 키워드는 변수, 메서드 또는 클래스와 함께 사용할 수 있습니다. 내용이 수정되는 것을 방지합니다. 클래스와 함께 선언하면 클래스가 확장되는 것을 방지합니다. -
정적
정적 수정자는 클래스 인스턴스 없이 액세스할 수 있는 클래스 변수 및 메서드와 함께 사용됩니다. 정적 변수에는 단일 저장소만 있습니다. 모든 객체는 정적 변수의 단일 저장소를 공유합니다. 개체 없이 직접 액세스할 수 있습니다. 정적 메서드도 선언할 수 있습니다. main() 메서드는 널리 사용되는 정적 메서드입니다. 정적 블록도 선언할 수 있으며 main() 메서드보다 먼저 실행됩니다. -
추상
abstract는 클래스 및 메서드와 함께 사용할 수 있습니다. 추상 클래스는 인스턴스화할 수 없으며 그 목적은 확장될 뿐입니다. 추상 메서드는 본문 없이 선언되고 세미콜론으로 끝납니다. 클래스에 추상 메서드가 포함되어 있으면 추상 메서드도 지정해야 합니다. 추상 클래스를 확장하는 클래스는 모든 추상 메서드를 구현해야 합니다. -
동기화됨
한 번에 하나의 스레드에서만 메서드에 액세스할 수 있음을 나타냅니다. -
일시적
인스턴스 변수는 특정 변수를 포함하는 개체를 직렬화할 때 JVM이 특정 변수를 건너뛰도록 나타내기 위해 일시적으로 표시됩니다. -
휘발성
Volatile 키워드는 Java 변수를 "메인 메모리에 저장 중"으로 표시하는 데 사용됩니다. 즉, 휘발성 변수의 모든 읽기는 CPU 캐시가 아닌 컴퓨터의 주 메모리에서 읽히고 휘발성 변수에 대한 쓰기는 CPU 캐시뿐만 아니라 주 메모리에 기록됩니다. -
엄격함
자바의 Strictfp 키워드를 사용하면 부동 소수점 변수에서 작업을 수행하는 경우 모든 플랫폼에서 동일한 결과를 얻을 수 있습니다.