ElementKind — 요소 종류 열거 클래스
ElementKind — 요소 종류 열거 클래스
ElementKind는 요소(element)의 종류(kind)를 나타내는 열거 클래스예요. Element.getKind()가 반환하는 값으로, 패키지·클래스·메서드·필드 같은 언어 구조를 판별하는 데 쓰여요.
이 열거에 미래 자바 언어 구조를 수용하기 위해 추가 종류가 늘어날 수 있어요. 참고로 java.lang.Enum, Serializable, Comparable<ElementKind>, Constable을 구현해요.
본문
주요 열거 상수는 PACKAGE, MODULE, TYPE, CLASS, ENUM, RECORD, INTERFACE, ANNOTATION_TYPE, FIELD, ENUM_CONSTANT, METHOD, CONSTRUCTOR, STATIC_INIT, INSTANCE_INIT, PARAMETER, LOCAL_VARIABLE, EXCEPTION_PARAMETER, RESOURCE_VARIABLE, BINDING_VARIABLE 등이에요. 선언은 다음과 같아요.
public enum ElementKind extends Enum<ElementKind>
주요 메서드는 다음과 같아요.
| Modifier and Type | Method | 설명 |
|---|---|---|
boolean |
isClass() |
CLASS·ENUM·RECORD 같은 클래스 종류면 true. |
boolean |
isDeclaredType() |
클래스나 인터페이스 같은 선언 타입 종류면 true. |
boolean |
isExecutable() |
METHOD·CONSTRUCTOR·STATIC_INIT·INSTANCE_INIT 같은 실행 가능 종류면 true. |
boolean |
isField() |
FIELD·ENUM_CONSTANT 같은 필드 종류면 true. |
boolean |
isInitializer() |
STATIC_INIT·INSTANCE_INIT 같은 초기화자 종류면 true. |
boolean |
isInterface() |
INTERFACE·ANNOTATION_TYPE 같은 인터페이스 종류면 true. |
boolean |
isVariable() |
ENUM_CONSTANT, FIELD, PARAMETER, LOCAL_VARIABLE, EXCEPTION_PARAMETER, RESOURCE_VARIABLE, BINDING_VARIABLE를 포함한 변수 종류면 true. |
static ElementKind |
valueOf(String name) |
지정된 이름의 열거 상수를 반환해요. |
static ElementKind[] |
values() |
선언 순서대로 열거 상수 배열을 반환해요. |
isClass(), isField(), isInterface() 같은 편의 메서드는 계층적 종류(예: ENUM과 RECORD도 클래스)를 한 번에 판별할 때 유용해요. Since: 1.6.