1. Enum을 사용하는 이유?
    1. 로또 등수별 계산에 대한 책임은 누가 가지고 있어야 할까?
  2. Enum을 사용하지 않았을 때
    1. 가독성 저하
    2. 상수 관리의 어려움 & 확장성의 어려움
    3. 오류 발생 가능성
    4. 타입 안정성 부족
  3. Enum을 사용하면 뭐가 좋을까?

1. Enum을 사용하는 이유?

3주차 미션의 요구사항으로 Java Enum을 사용하라는 요구사항이 있었다.

Enum을 어떻게 사용할 수 있을까?

a. 로또 등수별 계산에 대한 책임은 누가 가지고 있어야 할까?

컨트롤러? 로또 당첨 계산기? 로또 등수가 직접 계산해야 하지 않을까?

1등 타입은 1등식으로 계산해야하고,

2등 타입은 2등식으로 계산해야한다라는건

1등과 2등이 책임져야 할 부분이 아닐까?

2. Enum을 사용하지 않았을 때

아직까지 Enum의 필요성을 잘 모르겠다면 Enum을 사용하지 않고 당첨 번호 계산 로직을 구현 해보자.

image.png

이 코드를 통해서 왜 Enum을 사용하면 좋은지 알아보자!

1. 가독성의 저하

rank배열은 당첨 개수와 보너스 번호 일치 여부에 따라서 1등부터 5등까지 당첨개수를 저장하는 배열이다.

위 코드에서 문제점은 rank 배열이 무슨 의미인지 쉽게 파악이되지 않는다는 것이다.