[Effective Java] Item 4. μΈμ€ν΄μ€νλ₯Ό λ§μ λ private μμ±μλ₯Ό μ¬μ©νμ.
by rlaehddnd0422κ°μ²΄μ§ν₯μ μΌλ‘ μ’μ λ°©μμ μλμ§λ§, κ°λ°μλ€μ static μ μ λ©μλμ static μ μ νλλ§μ λ΄μ ν΄λμ€λ₯Ό λ§λ€κ³ μΆμ λκ° μμ κ²μ λλ€.
- μλ₯Όλ€λ©΄ Mathλ Arraysμ²λΌ κΈ°λ³Έ νμ κ°μ΄λ, λ°°μ΄ κ΄λ ¨ λ©μλλ€μ λͺ¨μ λμ μ μμ΅λλ€.
- λλ Collections μ²λΌ νΉμ μΈν°νμ΄μ€λ₯Ό ꡬννλ κ°μ²΄λ₯Ό μμ±ν΄μ£Όλ μ μ λ©μλλ₯Ό λͺ¨μλμ μ μμ΅λλ€.
- λ§μ§λ§μΌλ‘ final ν΄λμ€λ₯Ό μμν΄μ νμ ν΄λμ€μ λ©μλλ₯Ό λ£λ κ²μ λΆκ°λ₯νκΈ° λλ¬Έμ final ν΄λμ€μ κ΄λ ¨ν λ©μλλ€μ λͺ¨μ λμ λλ μ¬μ©ν μ μκ² μ΅λλ€.
μ΄λ° μ μ λ©€λ²λ§ λ΄μ μ νΈλ¦¬ν° ν΄λμ€λ μΈμ€ν΄μ€λ‘ λ§λ€μ΄ μ°λ €κ³ μ€κ³ν κ²μ΄ μλκΈ° λλ¬Έμ μΈμ€ν΄μ€νλ₯Ό λ§μμ£Όμ΄μΌν©λλ€. νμ§λ§ μμ±μλ₯Ό λͺ μνμ§ μμΌλ©΄ μ»΄νμΌλ¬κ° μλμΌλ‘ κΈ°λ³Έ μμ±μλ₯Ό λ§λ€μ΄μ£ΌκΈ° λλ¬Έμ, μλμΉ μκ² μΈμ€ν΄μ€ν λλ κ²μ κ°λ°μκ° μ§μ λ§μμ£Όμ΄μΌ ν©λλ€.
μ΄ λ abstract ν€μλλ‘ μΆμν΄λμ€λ‘ λ§λ€μ΄ μΈμ€ν΄μ€ν νμ§ λͺ»νκ² λ§μ μλ μκ² μ§λ§, abstract ν€μλλ₯Ό λ³Έ μ¬μ©μλ μ΄λ₯Ό μμν΄μ μ°λΌλ μλ―Έλ‘ λ°μλ€μ¬μ§ μ μκΈ°λ νκ³ , μΆμ ν΄λμ€λ₯Ό ꡬνν νμ ν΄λμ€λ₯Ό μΈμ€ν΄μ€ν ν μ μκΈ° λλ¬Έμ μ’μ λ°©λ²μ μλλλ€.
μΈμ€ν΄μ€νλ₯Ό νμ€νκ² λ§λ λ°©λ²μ μμ£Ό κ°λ¨ν©λλ€. λ°λ‘ κΈ°λ³Έ μμ±μλ₯Ό privateμΌλ‘ μ μΈν΄μ£Όλ©΄ λκ² μ΅λλ€.
public class UtilClass {
private UtilClass() {
}
}
- λͺ μμ μμ±μκ° privateμ΄λ ν΄λμ€ λ°κΉ₯μμλ μ κ·Όν μ μμ΅λλ€.
μ¬κΈ°μ λν΄ private μΌλ‘ μμ±μλ₯Ό μ μΈνλ€κ³ ν΄λ, ν΄λμ€ λ΄λΆμμλ μΈμ€ν΄μ€λ₯Ό λ§λ€ μ μμΌλ μ΄ λν νμ€ν λ§μμ£ΌκΈ° μν΄ private μμ±μ λ΄μ μμ±μκ° μ€νλλ©΄ μμΈλ₯Ό λμ§λλ‘ ν¨μΌλ‘μ¨ ν΄λμ€ μμμ μ€μλ‘λΌλ μμ±μλ₯Ό νΈμΆνμ§ μλλ‘ ν μ μκ² μ΅λλ€!
private UtilClass() {
throw new AssertionError();
}
κ·Έλ°λ° μμ±μκ° λΆλͺ μ‘΄μ¬λ νλλ° νΈμΆν μλ μλ€κ³ νλ, μ§κ΄μ μΌλ‘ 보μ΄μ§ μμ£ . κ·Έλ¬λ μ΄λ¬ν μ½λμλ μ μ ν μ£Όμμ λ¬μμ£Όλ©΄ λ μ’μ΅λλ€.
μ΄ λ°©μμ μμλ λΆκ°λ₯νκ² νλ ν¨κ³Όκ° μμ΄, νμ ν΄λμ€κ° μμ ν΄λμ€μ μμ±μμ μ κ·Όν κΈΈμ΄ λ§ν λ²λ¦°λ€λ μ μ μ μν©μλ€.
μ°Έκ³ : μμλ°μ νμν΄λμ€λ₯Ό μμ±ν λλ μμ ν΄λμ€μ μμ±μ νΈμΆμ΄ λ¨Όμ μ΄λ£¨μ΄μ§λ€.
'π Backend > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λΈλ‘κ·Έμ μ 보
Study Repository
rlaehddnd0422