Enum의 name()과 toString()은 모두 Enum의 값을 String으로 표현한다.
핵심 포인트는 메소드 재정의 가능 여부이다.
name()을 들어가보면 final 키워드가 있어 재정의 할 수 없다.
toString()은 final 키워드가 없으므로 재정의해서 사용할 수 있다.
public enum WeekDay {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY;
@Override
public String toString() {
return name().toLowerCase();
}
}
WeekDay.MONDAY.name()은 "MONDAY"를 반환한다.
WeekDay.MONDAY.toString()은 "monday"를 반환한다.
참고
https://velog.io/@nhj2927/Java-Enum.name-vs-Enum.toString