ν΄λμ€λ μ½λλ₯Ό μμ±νκΈ° μν μ΄κΈ° λ¨κ³λΌκ³ ν μ μμ κ² κ°μλ°, κ°μ²΄ μ§ν₯ μΈμ΄μμ ν΄λμ€λ₯Ό νμ©νμ¬ μ€κ³λ₯Ό μ νκΈ° μν΄ μ΄λ ν μ λ€μ κ³ λ €ν΄μΌ ν μ§ μ΄ν΄λ΄ λλ€
μμ λ κΈμ‘μ λνλ΄λ Money ν΄λμ€λ₯Ό ν λλ‘ μ€κ³ λ°©λ²μ μ΄ν΄λ³΄κ² μ΅λλ€.
1. μμ±μλ₯Ό ν΅ν΄ μ μμ μΈ κ° μ€μ νκΈ°
μμ κ°μ΄ λͺ¨λ μΈμ€ν΄μ€ λ³μλ₯Ό μ΄κΈ°ννλ λ° νμν 맀κ°λ³μλ€μ λ°λ μμ±μλ₯Ό λ§λ€ μ μλλ°, μμ λ¬Έμ μ μ 맀κ°λ³μλ‘ μλͺ»λ κ°μ΄ μ λ¬λ μ μλ€λ μ μ λλ€.
μμ κ²½μ° κ°μ²΄λ μ μμ μΌλ‘ μμ±λμ§λ§, νλ‘κ·Έλ¨μ΄ λμνμ¬ κ°μ²΄κ° μ¬μ©λλ€λ©΄ λ²κ·Έκ° λ°μν©λλ€.
λ°λΌμ, μλͺ»λ κ°μ΄ μ μ λμ§ λͺ»νκ² μ ν¨μ± κ²μ¬λ₯Ό κ°μ²΄κ° μμ±λ λ μ§νν©λλ€.
- κΈμ‘ (amount): 0 μ΄μμ μ μ
- ν΅ν (currency): null μΈμ λ°μ΄ν°
μμ κ°μ μ ν¨μ± κ²μ¬λ₯Ό ν΅ν΄ μ μ΄μ μλͺ»λ κ°μ κ°μ§ Money κ°μ²΄λ μ‘΄μ¬ν μ μμ΅λλ€.
λ°λΌμ νμ μμ νκ³ μ μμ μΈ κ°μ²΄κ° μ‘΄μ¬νλ€λ κ²μ 보μ₯ν μ μμ΅λλ€.
2. λ³μλ₯Ό λΆλ³μΌλ‘ λ§λ€μ΄μ μμνμ§ λͺ»ν λμ μλ°©νκΈ°
λ³μμ κ°μ΄ λΆλ³μ΄ μλ μνλ‘ λ©μλ λ΄μμ κ³μν΄μ λ³κ²½λλ€λ©΄, κ°μ΄ μΈμ λ³κ²½λμλμ§, νμ¬ κ°μ 무μμΈμ§ λ± κ³μ μ κ²½ μ¨μΌ ν©λλ€.
λν λΉμ¦λμ€ μꡬ μ¬νμ λ³κ²½μΌλ‘ μΈν΄ μ½λλ₯Ό μμ νλ€κ° μλνμ§ μμ κ°μ ν λΉνλ 'μμνμ§ λͺ»ν μ¬μ΄λ μ΄ννΈ' λ¬Έμ λ μ½κ² λ°μν μ μμ΅λλ€.
νΉν μμ κ°μ μ½λλ₯Ό λ κ±°μ μλΉμ€μμ κ΅μ₯ν λ§μ΄ λ΄€μλλ° μ μ§λ³΄μκ° μ΄λ €μ΄ μ½λμΈ κ² κ°μ΅λλ€. π€
λΆλ³μΌλ‘ λ§λ€λ©΄μ λ°μν μ μλ μ₯μ μ λ€μκ³Ό κ°μ΅λλ€.
- λ³μμ μλ―Έκ° λ³νμ§ μκΈ° λλ¬Έμ νΌλμ μ€μΌ μ μμ
- λμμ΄ μμ μ μ΄κ² λλ―λ‘, κ²°κ³Όλ₯Ό μμΈ‘νκΈ°κ° μ¬μ
- μ½λμ μν₯ λ²μκ° νμ μ μ΄λ―λ‘, μ μ§ λ³΄μκ° νΈλ¦¬ν΄μ§
μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ λ³μλ₯Ό λΆλ³μΌλ‘ μμ±νλ©΄ λ©λλ€.
3. λΆλ³μ λ³κ²½ν΄μΌ νλ κ²½μ°, μλ‘μ΄ μΈμ€ν΄μ€λ₯Ό μμ±νκΈ°
2.μμ λΆλ³μ λ³μλ₯Ό λ³κ²½ν΄μΌ νλ κ²½μ°κ° λ°μνλ©΄, μλ‘μ΄ μΈμ€ν΄μ€λ₯Ό μμ±νλ©΄ ν΄κ²°ν μ μμ΅λλ€.
μμ λ°©λ²μ ν΅ν΄ λΆλ³μ μ μ§νλ©΄μ κ°μ λ³κ²½ν μ μμ΅λλ€.
4. λ©μλ 맀κ°λ³μμ μ§μ λ³μλ λΆλ³μΌλ‘ λ§λ€κΈ°
2. μ μ°μ₯μ μΌλ‘ λ©μλμ 맀κ°λ³μ κ°μ λ³κ²½νλ μ½λλ κ΅μ₯ν λ§μ΄ λ΄€μλλ°μ, μμ κ²½μ°λ κ²°κ΅ λ§€κ°λ³μκ° λ³κ²½λ κ°μ κ³μν΄μ μΆμ ν΄μΌ νκΈ° λλ¬Έμ μ μ§λ³΄μκ° νλλλ€.
λ°λΌμ, 맀κ°λ³μμλ finalμ μ μΈνμ¬ λΆλ³μΌλ‘ λ§λ λ€λ©΄, κ°μ λ³κ²½μ λ§μ μ μμ΅λλ€.
(κ°μΈμ μΌλ‘ λ©μλμ 맀κ°λ³μμλ finalμ λ°λ‘ μ μΈνμ§λ μκ³ , κ°μ λ³κ²½νλ μμ μ νμ§ μμ§λ§ κΈ°λ₯ λ³κ²½μΌλ‘ μΈν΄ λ‘μ§μ λ³κ²½νλ κ²½μ°, μλνμ§ μκ² λ§€κ°λ³μ κ°μ΄ λ°λ κ°λ₯μ±μΌλ‘ μΈν΄ μμνμ§ λͺ»ν λμμ μΌμΌν¬ κ°λ₯μ±μ νμ μ‘΄μ¬νκΈ° λλ¬Έμ μμΌλ‘λ λ©μλμ 맀κ°λ³μμλ finalμ μ μΈνλ €κ³ ν©λλ€.
μ΄λ κ² λλ€λ©΄ λ©μλμ 맀κ°λ³μ κ°μ λ³κ²½νλ μΌμ΄ λ°μνλλΌλ, μ΄λ―Έ μ μΈν΄λμ final ν€μλλ‘ μΈν΄ μ΅μν ν λ²μ λ κ³ λ €νκ³ μ½λλ₯Ό μμ±νλ μ΅μνμ λ°©μ΄ μ₯μΉμ΄κΈ° λλ¬Έμ μ’μ κ² κ°μ΅λλ€. π)
5. λ©μλμ μλͺ»λ κ°μ μ λ¬μ μλ°©νκΈ°
μ μ½λμ λ¬Έμ μ μ΄ λ¬΄μμΈμ§ μμμ±μ ¨λμ?
λ©μλμ μΈμμ 'μλͺ»λ κ°'μ΄ μ λ¬λλ κ²½μ°μΈλ°μ, κΈμ‘μ λνλ λ©μλμ κ°κ²©μ΄ μλ, ν°μΌμ μλ₯Ό λν΄ λ²λ Έμ΅λλ€.
μ¬μ€μ μ λ¬μ΄ λμ΄μλ μλλ κ°μ΄μ§λ§, μ»΄νμΌ μλ¬λ λ°μνμ§ μκ³ μ€μ λ‘μ§μ΄ μνλ νμμλ (νλ€κ²) νμ μ΄ κ°λ₯ν κ² κ°μλ°μ, λΉμ·νκ² μ¬μ©νλ κ°λ μΌλ‘ μμ±μμ Builder ν¨ν΄μ΄ μμ κ² κ°μ΅λλ€.
μμ κ²½μ°κ° λ°μνμ§ μμΌλ €λ©΄ Money μλ£νλ§ λ§€κ°λ³μλ‘ λ°μ μ μλλ‘ μμ νλ©΄ λ©λλ€.
맀κ°λ³μμ μλ£νμ `int -> Money`λ‘ λ³κ²½ν¨μλ°λΌ μ΄μ λ Money μΈμ μλ£νμ μ λ¬μ΄ λΆκ°λ₯ν©λλ€.
λ°λΌμ μλ―Έκ° λ€λ₯Έ κ°μ μ λ¬νκ² λλ€λ©΄ μ»΄νμΌ μ€λ₯κ° λ°μνκ² λκΈ° λλ¬Έμ λΉ λ₯Έ μμ μμ μ€λ₯λ₯Ό νμ ν μ μμ΅λλ€.
κ²ν νκΈ°
μμ κ°μ ν΄λμ€ μ€κ³λ₯Ό ν΅ν΄ κ°μ λ μ μ μ 리νλ©΄ λ€μκ³Ό κ°μ΅λλ€.
μ€λ³΅ μ½λ | νμν λΉμ¦λμ€ λ‘μ§μ΄ Money ν΄λμ€ λ΄λΆμ λͺ¨μ¬ μκΈ°μ λ€λ₯Έ ν΄λμ€μ μ€λ³΅ μ½λκ° μμ±λ μΌμ΄ μ€μ΄λ¦ |
μ μ§λ³΄μ λΉμ© κ°μ | Money ν΄λμ€μ λμ μμ§λλ‘ μΈν΄ κ°λ μ± μ¦κ° λ° μ μ§λ³΄μ λΉμ© κ°μ |
μμ ν κ°μ²΄ | μμ±μλ₯Ό ν΅ν΄ λ³μμ μ ν¨μ± κ²μ¦μ μ§ννκΈ° λλ¬Έμ, μ΄κΈ°νλμ§ μμ μνλ μ‘΄μ¬ν μ μμ |
μλͺ»λ κ° | 맀κ°λ³μ μλ£νμ νΉμ ν¨μΌλ‘μ¨ λ°©μ΄ λ‘μ§μ μΆκ°νκ³ , μΈμ€ν΄μ€ λ³μμ λΆλ³μ μ€μ νμ¬ μλͺ»λ κ° μ¬μ μ μλ°© |
μ¬μ΄λ μ΄ννΈ | final ν€μλλ₯Ό ν΅ν΄ λΆλ³μΌλ‘ λ§λ€μκΈ°μ, λΆμ ν¨κ³Όλ‘ λΆν° μμ |
μ°Έκ³ μλ£
'Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Modern Java: An In-Depth Guide from Java 8 to Java 21 (3) | 2024.09.08 |
---|---|
Java ν΄λμ€ μ€κ³ μμ νκ² μ νκΈ° (feat. μμ§λ) (0) | 2023.12.20 |
Java Map - compute(), computeIfAbsent(), computeIfPresent() (0) | 2023.03.13 |
EasyRandom - Java beansλ₯Ό λλ€μΌλ‘ μμ±ν΄ μ£Όλ λΌμ΄λΈλ¬λ¦¬ (0) | 2023.01.27 |
[Java DeepDive] - Map(HashMap) 1. κ°λ , νλ, μμ±μ (2) | 2022.11.27 |
λκΈ