NestingKind — 중첩 종류 열거 클래스
NestingKind — 중첩 종류 열거 클래스
NestingKind는 타입 요소의 중첩(nesting) 종류를 나타내는 열거 클래스예요. 타입 요소는 최상위(top-level), 멤버(member), 지역(local), 익명(anonymous) 네 가지 종류로 나뉘어요. "중첩 종류(nesting kind)"는 이 분류를 나타내기 위해 여기서 쓰는 비표준 용어예요.
미래 플랫폼 버전에 추가 중첩 종류가 생길 수 있어요. 예를 들어 MemberClass는 클래스 멤버로 선언된 중첩 클래스라 MEMBER, 메서드 안에서 선언된 지역 클래스는 LOCAL, 이름 없는 클래스는 ANONYMOUS로 분류돼요.
본문
선언은 다음과 같아요.
public enum NestingKind extends Enum<NestingKind>
주요 열거 상수는 TOP_LEVEL, MEMBER, LOCAL, ANONYMOUS예요.
TypeElement.getNestingKind()는 이 열거값을 반환해요. 각 클래스에 중첩 종류를 매기면 다음과 같이 달라져요.
@Nesting(TOP_LEVEL)
public class NestingExamples {
@Nesting(MEMBER)
static class MemberClass1{}
@Nesting(MEMBER)
class MemberClass2{}
public static void main(String... argv) {
@Nesting(LOCAL)
class LocalClass{};
// ...
}
}
주요 메서드는 다음과 같아요.
| Modifier and Type | Method | 설명 |
|---|---|---|
boolean |
isNested() |
이 상수가 중첩 타입 요소에 해당하면 true. |
static NestingKind |
valueOf(String name) |
지정된 이름의 열거 상수를 반환해요. |
static NestingKind[] |
values() |
선언 순서대로 열거 상수 배열을 반환해요. |
isNested()는 TOP_LEVEL이 아닌(즉 중첩된) 종류인지 한 번에 판별해요. Since: 1.6.