1달 역량평가_DailyReport0417
**오늘 날짜 :** 2025-04-16
**진도 정리 :**
오늘은 스테이지 2 스텝 3까지 1회독했습니다.
**오늘 공부한 토픽:** Enum 열거형
이전에는 Enum을 단순한 열거 상수 집합으로만 이해했지만,
실제 코드를 통해 Enum이 객체처럼 동작하며
다양한 방식으로 활용될 수 있다는 것을 이해할 수 있었습니다.
다음 코드를 통해 Enum을 이해하면서 정리해보았습니다.
```java
package javastory.club.stage2.util;
public enum TalkingAt {
Left(0),
Middle(3),
Right(6);
private int tabCount;
private TalkingAt(int tabCount) {
this.tabCount = tabCount;
}
public int tabCount() {
return tabCount;
}
}
```
여기에서 제가 어려움을 느꼈던 구간은 Left(0), Middle(3), Right(6); 이었습니다.
다음과 같은 그림으로 로직이 실행되는 것을 확인하였습니다.
![[Pasted image 20250416180402.png]]
작동 원리가 궁금해서 JDK 1.5 이전의 Enum 구현 방식을 찾아보았고,
Enum이 도입되기 전에는 아래와 같은 방식으로 구현되었음을 확인했습니다.
```java
final class TalkingAt{
public static final TalkingAt LEFT = new TalkingAt(0);
public static final TalkingAt MIDDLE = new TalkingAt(3);
public static final TalkingAt RIGHT = new TalkingAt(6);
private int tabCount;
private TalkingAt(int tabCount) {
this.tabCount = tabCount;
}
public int tabCount() {
return tabCount;
}
}
```
Enum 없이도 동일한 구조를 구현할 수 있지만,
Enum을 사용하면 더 간결하고 명확한 표현이 가능하다는 것에서
더 큰 장점을 가진다는 것을 느꼈습니다.