πŸš€ μš°μ•„ν•œν…Œν¬μ½”μŠ€ 6κΈ° ν”„λ¦¬μ½”μŠ€ - 3μ£Όμ°¨ : 둜또

μ΄ν•˜μ–€Β·2023λ…„ 11μ›” 4일
0

⭐️ troubleshooting

🀯 첫번째 κ³ λ―Ό, Lotto 클래슀의 μ˜ˆμ™Έ 처리 뢄리

λ¨Όμ €, μš°μ•„ν•œν…Œν¬μ½”μŠ€μ˜ 이번 3μ£Όμ°¨ λ―Έμ…˜μ—λŠ” λ‹€μŒμ˜ 쑰건이 μƒμ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

그런데 μ œκ°€ νŒ¨ν‚€μ§€ ꡬ쑰λ₯Ό μž‘μ„±ν•˜λ‹€λ³΄λ‹ˆ 1가지 의문이 μƒκ²Όμ£ πŸ€”

Lotto 클래슀의 μ•ˆμ— μ˜ˆμ™Έ μ²˜λ¦¬κ°€ ν•œκΊΌλ²ˆμ— λ“€μ–΄κ°€ μžˆλŠ”λ°, 이것을 λ‚΄κ°€ κ΅¬ν˜„ν•˜λŠ” λ°©μ‹λŒ€λ‘œ λ³„λ„μ˜ Exception νŒ¨ν‚€μ§€ μ•ˆμ—μ„œ μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•œ λ’€ improt해와 μ‚¬μš©ν•˜λ©΄ μ•ˆλ˜λŠ” 것인가?ν•˜λŠ” κ³ λ―Όμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

클래슀의 μ œμ•½ 사항을 λ‹€μ‹œ ν•œλ²ˆ λœ―μ–΄λ³΄μž.

λ¨Όμ €, μœ„μ˜ μ œμ•½ 사항을 ν•œκ°€μ§€μ”© 가져와 λ³Όκ²Œμš”.
1️⃣ 제곡된 Lotto 클래슀λ₯Ό ν™œμš©ν•΄ κ΅¬ν˜„ν•΄μ•Ό ν•œλ‹€.
-> 이것을 κ³ μ •ν•˜λΌλŠ” 말이 μ•„λ‹Œ, ν™œμš© μ΄λ‹ˆ λ¬Έμ œκ°€ 없을 것 κ°™λ„€μš”!

2️⃣ numbers의 μ ‘κ·Ό μ œμ–΄μžμΈ private을 λ³€κ²½ν•  수 μ—†λ‹€.
-> private μƒνƒœλ‘œ κ΅¬ν˜„ν•  μ˜ˆμ •μ΄λ‹ˆ λ¬Έμ œκ°€ 없을 κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€.

3️⃣ Lotto에 ν•„λ“œ(μΈμŠ€ν„΄μŠ€ λ³€μˆ˜)λ₯Ό μΆ”κ°€ν•  수 μ—†λ‹€.
-> 이 뢀뢄은 ν•„λ“œ(μΈμŠ€ν„΄μŠ€ λ³€μˆ˜)에 λŒ€ν•΄μ„œ μ •ν™•νžˆ 짚고 λ„˜μ–΄κ°€μ•Όκ² λ„€μš”!


Javaμ—μ„œμ˜ ν•„λ“œ(μΈμŠ€ν„΄μŠ€ λ³€μˆ˜)λž€?

  • 클래슀 λ³€μˆ˜(static)
    Static ν‚€μ›Œλ“œκ°€ λ“€μ–΄κ°€λ©° μ„ μ–Έλœ λ³€μˆ˜λ₯Ό 의미.
    ν•΄λ‹Ή λ³€μˆ˜λŠ” 클래슀λ₯Ό μ—¬λŸ¬ 번 μƒμ„±ν•˜λ”λΌλ„, ν•œλ²ˆλ§Œ μƒμ„±λ˜λŠ” νŠΉμ§•μ΄ 있음.
    λ™μΌν•œ 클래슀라면 λͺ¨λ“  객체가 μ‚¬μš© κ°€λŠ₯.

  • μΈμŠ€ν„΄μŠ€ λ³€μˆ˜(non-static)
    클래슀 μ•ˆμ—μ„œ μ„ μ–Έλœ λ³€μˆ˜λ₯Ό 의미.
    μ‚¬μš© μ‹œλ§ˆλ‹€ 맀번 μƒˆλ‘­κ²Œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•΄μ€˜μ•Όν•˜λŠ” νŠΉμ§•μ„ 가짐.
    πŸ”— [java] ν΄λž˜μŠ€λ³€μˆ˜, μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ 차이(staticλ³€μˆ˜μ™€ non Staticλ³€μˆ˜)

public class Lotto {
    private final List<Integer> numbers; //클래슀 λ‚΄λΆ€μ˜ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜
    static int BONUS_NUBMER = 6; //클래슀 λ³€μˆ˜(staticν˜• λ³€μˆ˜)

    public Lotto(List<Integer> numbers) {
        validate(numbers);
        this.numbers = numbers;
    }

    private void validate(List<Integer> numbers) {
        if (numbers.size() != 6) {
            throw new IllegalArgumentException();
        }
    }

    // TODO: μΆ”κ°€ κΈ°λŠ₯ κ΅¬ν˜„
}

μœ„μ˜ 주어진 Lotto ν΄λž˜μŠ€μ— κ°„λ‹¨ν•œ μ˜ˆμ‹œλ₯Ό 더해 확인해보면,

  • staticν˜• λ³€μˆ˜λŠ” 클래슀 λ³€μˆ˜
  • non staticν˜• λ³€μˆ˜λŠ” μΈμŠ€ν„΄μŠ€ λ³€μˆ˜
    μž„μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€!
    κ·ΈλŸ¬λ‹ˆ Lotto ν΄λž˜μŠ€μ— λ³„λ„μ˜ μ˜ˆμ™Έλ₯Ό μ„ μ–Έν•˜λ €λ©΄ static을 μ‚¬μš©ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ§„ν–‰ν•΄μ•Όκ² λ„€μš”.
    ν•„λ“œ(μΈμŠ€ν„΄μŠ€ λ³€μˆ˜) 라고 λ””ν…ŒμΌν•˜κ²Œ μ œμ•½μ„ λ‘μ—ˆκΈ° λ•Œλ¬Έμ΄λ©°, μ €λŠ” 이 쑰건에 λ”°λΌμ„œ νŒλ‹¨ν–ˆμŠ΅λ‹ˆλ‹€.

4️⃣ Lotto의 νŒ¨ν‚€μ§€ 변경은 κ°€λŠ₯ν•˜λ‹€.
-> 이 뢀뢄은 νŒ¨ν‚€μ§€ λ³€κ²½ λ¬Έμ œμ΄λ―€λ‘œ λ¬Έμ œμ—†μŠ΅λ‹ˆλ‹€!!

κ²°λ‘  : λ³„λ„μ˜ Exception νŒ¨ν‚€μ§€ μ•ˆμ—μ„œ μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•œ λ’€ import 해와도 문제 μ—†μ§€λ§Œ, κ·Έ 클래슀의 경우 staticν˜• λ³€μˆ˜λ‘œ μ„ μ–Έν•΄μ•Όλ§Œ ν•  것이닀.





🀯 λ‘λ²ˆμ§Έ κ³ λ―Ό, λ‹Ήμ²¨λ²ˆν˜Έλ₯Ό λ½‘λŠ” μ‚¬λžŒλ„ ν”Œλ ˆμ΄μ–΄...?

처음 κΈ°λŠ₯ λͺ©λ‘μ„ 아무 고민없이 μž‘μ„±ν–ˆλŠ”λ°, λ‹€μ‹œ μƒκ°ν•΄λ³΄λ‹ˆ μ΄μƒν•œ 점이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

μ²˜μŒμ—λŠ” κ·Έλƒ₯ λ‹Ήμ—°νžˆ

  • ν”Œλ ˆμ΄μ–΄κ°€ κ΅¬μž… κΈˆμ•‘μ„ μž…λ ₯ν•˜κ³ , 그에 맞게 번호λ₯Ό λΆ€μ—¬λ°›λŠ”λ‹€.
  • κ·Έ ν”Œλ ˆμ΄μ–΄κ°€ λ‹Ήμ²¨λ²ˆν˜Έμ™€ λ³΄λ„ˆμŠ€ 번호λ₯Ό μž…λ ₯ν•˜λ©΄ 당첨 μ—¬λΆ€λ₯Ό μ•Œλ €μ€€λ‹€.
    μ΄λ ‡κ²Œ μƒκ°ν–ˆκ±°λ“ μš”?

근데 λ‹€μ‹œ μƒκ°ν•΄λ³΄λ‹ˆ

  • κ·Έ ν”Œλ ˆμ΄μ–΄κ°€ λ‹Ήμ²¨λ²ˆν˜Έμ™€ λ³΄λ„ˆμŠ€ 번호λ₯Ό μž…λ ₯ν•˜λ©΄ 당첨 μ—¬λΆ€λ₯Ό μ•Œλ €μ€€λ‹€.
    이러면....둜또λ₯Ό μ™œ 사죠?
    κ·Έλƒ₯ λ°”λ‘œ λ‹Ήμ²¨λ²ˆν˜Έ μ μ–΄μ„œ ν•˜λ‚˜λ§Œ 사지 μ•Šμ„κΉŒμš”?

κ·Έλž˜μ„œ μ œκ°€ 직접 둜또λ₯Ό μ‚°λ‹€κ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€.
μˆœμ„œλŠ” λ‹€μŒκ³Ό κ°™κ² μ£ ?

1. 둜또λ₯Ό μ‚¬λŸ¬ κ°„λ‹€.
2. 둜또 μ–Όλ§ŒνΌ 살건지 μƒκ°ν•˜κ³ , 그에 λ§žλŠ” κΈˆμ•‘μ„ νŒλ§€μ²˜μ— λ“œλ¦°λ‹€.(ex.8000원 -> 8μž₯)
3. μ‹œκ°„μ΄ 흐λ₯΄κ³  둜또 좔첨 μ‹œκ°„μ΄ 되면, μΆ”μ²¨ν•˜λŠ” κ³³μ—μ„œ λ‹Ήμ²¨λ²ˆν˜Έμ™€ λ³΄λ„ˆμŠ€λ²ˆν˜Έλ₯Ό μΆ”μ²¨ν•œλ‹€.
4. κ·Έ 당첨 번호λ₯Ό λ‚΄κ°€ μ‚° 둜또 λ²ˆν˜Έμ™€ 비ꡐ해 당첨 μ—¬λΆ€λ₯Ό ν™•μΈν•œλ‹€.

μ΄λŸ¬ν•œ ν”„λ‘œμ„ΈμŠ€λ‘œ 둜또λ₯Ό κ΅¬μž…ν•©λ‹ˆλ‹€.
κ·Έλ ‡λ‹€λ©΄, ν”Œλ ˆμ΄μ–΄κ°€ μ•„λ‹Œ λ³„λ„μ˜ μΆ”μ²¨μžκ°€ λ‹Ήμ²¨λ²ˆν˜Έμ™€ λ³΄λ„ˆμŠ€ 번호λ₯Ό μž…λ ₯ν•˜λŠ” 것이 맞겠죠?

➑️ μ—¬κΈ°κΉŒμ§€κ°€ ν”Œλ ˆμ΄μ–΄κ°€ ν•  λͺ«μž…λ‹ˆλ‹€.



➑️ μ—¬κΈ°κ°€ μΆ”μ²¨μžκ°€ ν•΄μ•Όν•  일이죠.



➑️ 그리고 μ΄λ ‡κ²Œ 당첨 톡계가 λ‚˜μ˜€λŠ” 것은 둜또λ₯Ό κ΅¬μž…ν•˜λ©΄ μœ„μ— μžˆλŠ” QRμ½”λ“œκ°€ μžˆλŠ”λ°, 그것을 찍으면 μ—°κ²°λ˜λŠ” μ‚¬μ΄νŠΈμ—μ„œ μžλ™μœΌλ‘œ 당첨을 ν™•μΈν•΄μ£ΌλŠ” ν”„λ‘œμ„ΈμŠ€μ™€ 같은 것이라고 μ΄ν•΄ν–ˆμ–΄μš”!



κ²°λ‘  : κ΅¬μž… κΈˆμ•‘ μž…λ ₯은 ν”Œλ ˆμ΄μ–΄κ°€, λ‹Ήμ²¨λ²ˆν˜Έμ™€ λ³΄λ„ˆμŠ€ λ²ˆν˜ΈλŠ” μΆ”μ²¨μžκ°€!

  • ν”Œλ ˆμ΄μ–΄κ°€ κ΅¬μž… κΈˆμ•‘μ„ μž…λ ₯ν•˜κ³ , 그에 맞게 번호λ₯Ό λΆ€μ—¬λ°›λŠ”λ‹€.
  • λ³„λ„μ˜ μΆ”μ²¨μžκ°€ λ‹Ήμ²¨λ²ˆν˜Έμ™€ λ³΄λ„ˆμŠ€ 번호λ₯Ό μž…λ ₯ν•œλ‹€.
  • ν”Œλ ˆμ΄μ–΄κ°€ λΆ€μ—¬λ°›μ•˜λ˜ λ²ˆν˜Έμ™€ μΆ”μ²¨μžμ˜ 번호λ₯Ό 비ꡐ해 ν”Œλ ˆμ΄μ–΄μ—κ²Œ 당첨 μ—¬λΆ€λ₯Ό μ•Œλ €μ€€λ‹€.




⭐️ Learning

πŸŽ€ 첫 번째 배운 점, Exception 쑰건의 의미

이번 λ―Έμ…˜μ—μ„œλŠ” λ‹€μŒκ³Ό 같은 μš”κ΅¬μ‚¬ν•­μ΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©μžκ°€ 잘λͺ»λœ 값을 μž…λ ₯ν•  경우 IllegalArgumetExceptionλ₯Ό λ°œμƒμ‹œν‚€κ³ , "[ERROR]"둜 μ‹œμž‘ν•˜λŠ” μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ ν›„ κ·Έ λΆ€λΆ„λΆ€ν„° μž…λ ₯을 λ‹€μ‹œ λ°›λŠ”λ‹€.

  • Exception이 μ•„λ‹Œ IllegalArgumentException, IllegalStateException λ“±κ³Ό 같은 λͺ…ν™•ν•œ μœ ν˜•μ„ μ²˜λ¦¬ν•œλ‹€.

이 μ€‘μ—μ„œλ„ μ•„λž˜ λ¬Έμž₯의 λœ»μ„ μ•Œκ³  μ‹Άμ—ˆμ–΄μš”.

IlegalArgumentException을 λ°œμƒμ‹œν‚€λŠ” 쑰건은 μ €λ²ˆ λ―Έμ…˜μ—λ„ λ˜‘κ°™μ΄ ν•΄μ™”κΈ° λ•Œλ¬Έμ— μ‚¬μš©μžμ˜ 잘λͺ»λœ μž…λ ₯에 λŒ€ν•œ μ˜ˆμ™Έμ²˜λ¦¬λ₯Ό ν•˜λ©΄ λ˜κ² κ΅¬λ‚˜ μƒκ°ν–ˆμ—ˆμŠ΅λ‹ˆλ‹€.
ν•˜μ§€λ§Œ, κ³Όμ—° IllegalStateExceptionμ΄λž€ 무엇인가가 κ°€μž₯ κΆκΈˆν–ˆμ–΄μš”!


  • IllegalStateExceptionμ΄λž€?
    πŸ“Java Exception
  • μ‚¬μš©μžκ°€ 값을 μ œλŒ€λ‘œ μž…λ ₯ν–ˆμ§€λ§Œ, 개발자 μ½”λ“œκ°€ 값을 μ²˜λ¦¬ν•  μ€€λΉ„κ°€ λ˜μ§€ μ•Šμ€ 경우 λ°œμƒν•˜λŠ” μ˜ˆμ™Έμž…λ‹ˆλ‹€.
  • ex) 둜또 κ²Œμž„ 진행 ν›„ 둜또 κ²Œμž„μ΄ μ’…λ£Œλœ μƒνƒœμ—μ„œ -> μ‚¬μš©μžκ°€ μΆ”κ°€ 진행을 μœ„ν•΄ κΈˆμ•‘μ„ μž…λ ₯ν•˜λŠ” 경우
  • 이 경우, 둜또 κ²Œμž„ λ‘œμ§μ€ μ’…λ£Œλ˜μ—ˆκΈ° λ•Œλ¬Έμ— μ‚¬μš©μž μž…λ ₯에 λŒ€μ‘ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

즉, μ£Όλͺ©ν•΄μ•Ό ν•  점은 κ²Œμž„μ΄ running μƒνƒœκ°€ 아닐 λ•Œ λ°œμƒν•˜λŠ” μ˜ˆμ™ΈλΌλŠ” μ μž…λ‹ˆλ‹€.
μ œκ°€ μ‚¬μš©ν•œ IntelliJ IDEA의 경우, μ‚¬μš©μžκ°€ μž…λ ₯을 ν•  수 μžˆλŠ” μ½˜μ†” μžμ²΄κ°€ κ²Œμž„ μ’…λ£Œ μ‹œμ—λŠ” Read-Only μƒνƒœλ‘œ λŒμ•„κ°‘λ‹ˆλ‹€.
κ·Έλ ‡κΈ° λ•Œλ¬Έμ— μ˜ˆμ™Έκ°€ λ°œμƒν•  수 μ—†λŠ” 상황이라 νŒλ‹¨ν•  수 μžˆμ—ˆμ£ !

☝️ 결둠
IllegalArgumentException에 λŒ€ν•΄μ„œλ§Œ λͺ…μ‹œμ μœΌλ‘œ μ½”λ“œμ— μ˜ˆμ™Έλ₯Ό μž‘μ„±ν•˜λ©΄ λœλ‹€!





πŸŽ€ 두 번째 배운 점, 도메인 둜직의 λ²”μ£Ό

이번 λ―Έμ…˜μ—μ„œλŠ” λ‹€μŒκ³Ό 같은 μƒˆλ‘œμš΄ μš”κ΅¬μ‚¬ν•­λ„ λ“±μž₯ν–ˆμŠ΅λ‹ˆλ‹€ 두λ‘₯🀣

  • 도메인 λ‘œμ§μ— λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό κ΅¬ν˜„ν•΄μ•Ό ν•œλ‹€. 단, UI(System.out, System.in, Scanner) λ‘œμ§μ€ μ œμ™Έν•œλ‹€.
    • 핡심 λ‘œμ§μ„ κ΅¬ν˜„ν•˜λŠ” μ½”λ“œμ™€ UIλ₯Ό λ‹΄λ‹Ήν•˜λŠ” λ‘œμ§μ„ 뢄리해 κ΅¬ν˜„ν•œλ‹€.
    • λ‹¨μœ„ ν…ŒμŠ€νŠΈ μž‘μ„±μ΄ μ΅μˆ™ν•˜μ§€ μ•Šλ‹€λ©΄test/java/lotto/LottoTestλ₯Ό μ°Έκ³ ν•˜μ—¬ ν•™μŠ΅ν•œ ν›„ ν…ŒμŠ€νŠΈλ₯Ό κ΅¬ν˜„ν•œλ‹€.

κ·Έ μ€‘μ—μ„œλ„ 도메인 둜직이 μ–΄λ–€ 것을 μ˜λ―Έν•˜λŠ”μ§€ κ°€μž₯ κΆκΈˆν–ˆμ–΄μš”.
μš°μ„ , 2κ°€μ§€λ‘œ μΆ”λ €λ΄€μŠ΅λ‹ˆλ‹€.
1. λ‚΄ Domain νŒ¨ν‚€μ§€ λ‚΄μ˜ μ½”λ“œλ§Œμ„ 포함
2. λ„λ©”μΈμ˜ 역할을 ν•˜λŠ” μ½”λ“œ λͺ¨λ‘λ₯Ό 포함

μ²˜μŒμ—λŠ” 1번이 쑰금 더 λΆ€ν•©ν•˜μ§€ μ•Šμ„κΉŒ μƒκ°ν–ˆκ³ , μš°μ„  1λ²ˆμ„ κΈ°μ€€μœΌλ‘œ ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€.
μ €μ˜ 경우,

  • Lotto.java
  • PlayerNumber.java
  • PlayerPrice.java

의 3가지 μ½”λ“œκ°€ μžˆμ—ˆμ–΄μš”!

그런데...
λ­”κ°€ ν…ŒμŠ€νŠΈ μ½”λ“œκ°€ λΉˆμ•½ν•˜λ‹€?λŠ” 생각을 ν–ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€.
κ·Έλž˜μ„œ μ—΄μ‹¬νžˆ μ°Ύμ•„λ΄€μ£ !!

그리고 κ²°κ΅­ μ›ν•˜λ˜ 정보λ₯Ό μ–΄λŠ 정도 μ°Ύμ•„λƒˆμŠ΅λ‹ˆλ‹€.
πŸ“[μš°μ•„ν•œν…Œν¬μ½”μŠ€ 5κΈ°] ν”„λ¦¬μ½”μŠ€ 3μ£Όμ°¨ 회고

도메인/λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ΄λΌλŠ” 것은 λ°˜λ“œμ‹œ Domain νŒ¨ν‚€μ§€μ—λ§Œ μ†ν•˜λŠ” 것이 μ•„λ‹ˆλΌλŠ” κ²ƒμž…λ‹ˆλ‹€.
이 κ³³μ—μ„œ λ‹€μ‹œ ν•œλ²ˆ 깨달은 점은, ν˜„μž¬ MVC νŒ¨ν„΄μ„ μ μš©ν•΄ νŒ¨ν‚€μ§€λ₯Ό κ΅¬μ„±ν•œ 것은 "제 μžμ‹ " μ΄λΌλŠ” μ μ΄μ—μš”.
μ΄λ ‡κ²Œ κ΅¬μ„±ν•˜λΌκ³  주어진 적이 μ—†μ—ˆλ‹€λŠ” 것을 λ‹€μ‹œ ν•œλ²ˆ λ˜λ‡Œμ΄κ²Œ λœκ²λ‹ˆλ‹€...!

☝️결둠

  • 도메인/λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ΄λΌλŠ” 말 -> κ·ΈλŸ¬ν•œ λ‘œμ§μ„ λ‹΄λ‹Ήν•˜λŠ” μ½”λ“œ λͺ¨λ‘λ₯Ό λ§ν•œλ‹€!
  • 도메인/λΉ„μ¦ˆλ‹ˆμŠ€μ˜ λ‘œμ§μ„ λ‹΄λ‹Ήν•˜λŠ” μ½”λ“œ 전체λ₯Ό 도메인 둜직으둜 작고 ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ λœλ‹€.

이 뢀뢄을 염두에 두고, μΆ”κ°€μ μœΌλ‘œ 둜또 κ²Œμž„μ˜ 핡심 λ‘œμ§μ„ μ΄λŒμ–΄λ‚˜κ°„λ‹€κ³  μƒκ°ν•œ 이 μ½”λ“œλ“€μ˜ ν…ŒμŠ€νŠΈ μ½”λ“œκΉŒμ§€ μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€.

...
β”œβ”€β”€ Service
|   β”œβ”€β”€ PlayerInputManagerService.java
|   └── WinningNumberComparatorService.java
β”œβ”€β”€ Util
|   └── LottoNumberGenerator.java

이번 λ―Έμ…˜λ„ μ΄λ ‡κ²Œ λ§ˆλ¬΄λ¦¬ν–ˆμŠ΅λ‹ˆλ‹€.

제 생각이 λͺ¨λ‘μ—κ²Œ μžκ·Έλ§ˆν•œ 도움이 되길 바라며 이만 κ°€κ² μŠ΅λ‹ˆλ‹€!

profile
μ–Έμ  κ°€ λ‚΄ μ½”λ“œλ‘œ 세상에 κΈ°μ—¬ν•  수 μžˆλ„λ‘, BE 개발 기둝 λ…ΈνŠΈβ˜˜οΈ

0개의 λŒ“κΈ€