enum
아래가 enum이다.
1
2
3
public enum Answer{
Y, N
}
그런데 Y라고 갖고오는게 아니라 “정답”이라는 단어로 바꿔서 갖고오고 싶다.
그래서 Y(“정답”) 이라고 작성을 하고 “정답”을 작성하면서 private final String name;을 적었다.
“정답”을 갖고 오기 위해서 @Getter를 사용하는 것이고
Y(“정답”) ← 이 구문이 생성자 같이 생겼는데 필드에 쓴 모든 생성자를 만들어주기 위해서
@AllArgsConstructor 를 넣어준 것이다.
1
2
3
4
5
6
7
@Getter
@AllArgsConstructor
public enum Answer{
Y("정답"), N("오답");
private final String name;
}
@AllArgsConstructor를 안넣어주면
public Answer(String name) { this.name = name; }
이런식으로 적어줘야 한다.
추가로 팀 변수를 추가한다면 값을 갖고올 때 “정답이고 A이다”를 한꺼번에 갖고오게 되는 것이다.
1
2
3
4
5
6
7
8
@Getter
@AllArgsConstructor
public enum Answer{
Y("정답", "A"), N("오답", "B");
private final String name;
private final String team;
}
관련 글 : handler