Modifier — 수식자 디코딩 클래스
Modifier — 수식자 디코딩 클래스
Modifier 클래스는 클래스와 멤버 접근 수식자(access modifier)를 디코딩하는 정적 메서드와 상수를 제공해요. 수식자의 집합은 각 수식자를 나타내는 고유한 비트 위치를 가진 정수로 표현돼요. 수식자를 나타내는 상수의 값은 JVM 명세 4.1, 4.4, 4.5, 4.7절의 표에서 가져와요. java.lang.reflect 패키지의 Field, Method, Constructor가 반환하는 수식자 정수를 해석하는 데 사용돼요.
본문
Modifier는 여러 수식자 상수를 정의해요:
PUBLIC — public 수식자 (값 0x00000001).
PRIVATE — private 수식자 (값 0x00000002).
PROTECTED — protected 수식자 (값 0x00000004).
STATIC — static 수식자 (값 0x00000008).
FINAL — final 수식자 (값 0x00000010).
SYNCHRONIZED — synchronized 수식자 (값 0x00000020).
VOLATILE — volatile 수식자 (값 0x00000040).
TRANSIENT — transient 수식자 (값 0x00000080).
NATIVE — native 수식자 (값 0x00000100).
INTERFACE — interface 수식자 (값 0x00000200).
ABSTRACT — abstract 수식자 (값 0x00000400).
STRICT — strictfp 수식자 (값 0x00000800).
수식자 검사 메서드들:
isPublic(int mod), isPrivate(int mod), isProtected(int mod), isStatic(int mod), isFinal(int mod), isSynchronized(int mod), isVolatile(int mod), isTransient(int mod), isNative(int mod), isInterface(int mod), isAbstract(int mod), isStrict(int mod) — 각각 주어진 정수에 해당 수식자가 설정되었는지 boolean으로 반환해요.
public static String toString(int mod) — 주어진 수식자 정수를 나타내는 수식자 이름들의 문자열을 반환해요 (예: "public static").
각 구조에서 허용되는 수식자 집합을 반환하는 메서드들:
classModifiers() — 클래스에 허용되는 수식자 집합을 반환해요.
interfaceModifiers() — 인터페이스에 허용되는 수식자 집합을 반환해요.
constructorModifiers() — 생성자에 허용되는 수식자 집합을 반환해요.
methodModifiers() — 메서드에 허용되는 수식자 집합을 반환해요.
fieldModifiers() — 필드에 허용되는 수식자 집합을 반환해요.
parameterModifiers() — 매개변수에 허용되는 수식자 집합을 반환해요.