어노테이션의 필드와 값 사용

📁 ex01

☕ Count.java

@Retention(RetentionPolicy.RUNTIME)
public @interface Count {
    //int value(); // 기본값이 없을 때
    int value() default 1; // 💡 기본값 설정
}

☕ Main.java

		// 💡  괄호 안에 {필드명} = {값}
    @Count(value = 3)
    private int apples;

    //  💡 default가 있을 시 생략 가능
    @Count
    private int bananas;

    //  💡 필드가 하나고 필드명이 value일 시
    //  - 값만 넣을 수 있음
    @Count(5)
    private int cacaos;

☕ PersonName.java

@Retention(RetentionPolicy.RUNTIME)
public @interface PersonName {
    String first();
    String last();
}

☕ Main.java

		//  💡 값이 여럿일 시. 순서 무관
    @PersonName(last = "홍", first = "길동")
    private Object seller;

☕ PersonInfo.java

@Retention(RetentionPolicy.RUNTIME)
public @interface PersonInfo {
    //  💡 다른 어노테이션을 항목으로 가짐
    PersonName personName();
    int age();
    boolean married();
}

☕ Main.java

		//  💡 어노테이션의 값으로 어노테이션 사용
    @PersonInfo(
            personName = @PersonName(last = "전", first = "우치"),
            age = 30,
            married = true
    )
    private Object sellerInfo;