Item 49. Parameter Validation
맀κ°λ³μκ° μ ν¨νμ§ κ²μ¬νλΌ
λ©μλμ μμ±μμ 맀κ°λ³μλ νΉμ μ‘°κ±΄μ΄ λ§μ‘±λλ κ°λ§ λ€μ΄μ€λλ‘ κΈ°λνμ§λ§, κ²μ¬λ₯Ό μ λλ‘ μννμ§ μμΌλ©΄ μλ¬κ° λ°μνκ±°λ μμ μλͺ»λ κ²°κ³Όλ₯Ό λ°νν μ μλ€. λλ¬Έμ publicμ΄λ protected λ©μλμλ μ΄λ€ μ μ½μ΄ μμμ§ μκ°νκ³ λ§€κ°λ³μ κ°μ΄ μλͺ»λμ λ λμ§λ μμΈλ₯Ό λ¬Έμνν΄μΌ νλ€.
μ μ½λλ BigInteger ν΄λμ€μ mod λ©μλμ μ ν¨μ± κ²μ¬ λ¬Έμν μμμ΄λ€. BigInteger ν΄λμ€ μμ€μμ input parameterκ° nullμΈ κ²½μ°μ λν΄ λ¬Έμνκ° λμ΄ μκΈ° λλ¬Έμ mod λ©μλμμλ μ€λͺ μ΄ μλ΅λμλ€. (ν΄λμ€ μμ€μ μ£Όμμ ν΄λΉ ν΄λμ€μ λͺ¨λ publicμ μ μ©λλ―λ‘, λ©μλ μμ€μμ μ€λ³΅ν΄μ μμ±ν νμκ° μλ€.)
맀κ°λ³μ μ ν¨μ± κ²μ¬μ μ€μμ±
맀κ°λ³μλ‘ λ°μ κ°μ ν΄λΉ λ©μλμμ μ§μ μ¬μ©νλ©΄ μλ¬ λ°μ μ μμΈμ μ°Ύλ κ²μ΄ μ½μ§λ§, κ·Έλ μ§ μμ κ²½μ°μλ 맀κ°λ³μ μ ν¨μ± κ²μ¬κ° λμ± μ€μν΄μ§λ€. μλ₯Ό λ€μ΄ μ§μ μ¬μ©νμ§ μκ³ λμ€μ μ°κΈ° μν΄ μ μ₯νλ κ²½μ°μ, μλμ μλ리μ€μ κ°μ΄ μλ¬κ° λ°μνκ² λλ©΄μ μμΈμ μ°ΎκΈ°κ° μ΄λ €μμ§λ€.
λ©μλλ₯Ό ν΅ν΄ κ°μ²΄ νλμ nullμ μ μ₯(λΉμ μμ μΈ μν)
μμμ μμ μ νλμ μ μ₯λ nullμ λ°ννκ±°λ μ¬μ©νλ λ©μλ νΈμΆ
NullPointerException λ°μνλ©΄μ μ΄λ μμ μ nullμ΄ μ μ₯λμλμ§ μΆμ νκΈ° μ΄λ €μ
맀κ°λ³μ μ ν¨μ± κ²μ¬κ° μλ΅λλ κ²½μ°
무쑰건 μ μΌλ‘ 맀κ°λ³μ μ ν¨μ± κ²μ¬λ₯Ό μνν΄μΌ νλ κ²μ μλλ°, μλμ κ²½μ°μλ μλ΅ν΄λ λλ€.
μ ν¨μ± κ²μ¬ λΉμ©μ΄ μ§λμΉκ² λκ±°λ μ€μ©μ μ΄μ§ μμ κ²½μ°
κ³μ° κ³Όμ μμ μ묡μ μΌλ‘ κ²μ¬κ° μνλλ κ²½μ°
Collections.sort(List)
: μνΈ λΉκ΅λ μ μλ νμ μ κ°μ²΄κ° λ€μ΄κ°λ©΄ClassCastException
μ΄ λ°μνμ¬, κ΅³μ΄ μ ν¨μ± κ²μ¬λ₯Ό μννμ§ μμλ λλ€.νμ§λ§ μ묡μ μ ν¨μ± κ²μ¬μ λ무 μμ‘΄νκ²λλ©΄ μ€ν¨ μμμ±μ ν΄μΉ μ μμΌλ μ£Όμν΄μΌ νλ€.
Last updated
Was this helpful?