μ΄λ°κΈ λ¨μν μ μ λ©μλμ μ μ νλλ§μ λ΄μ ν΄λμ€λ₯Ό λ§λ€κ³ μΆμ λκ° μμ κ²μ΄λ€.
- κΈ°λ³Έ νμ κ°μ΄λ λ°°μ΄ κ΄λ ¨ λ©μλλ€μ λͺ¨μλμ μ μμ
- νΉμ μΈν°νμ΄μ€λ₯Ό ꡬννλ κ°μ²΄λ₯Ό μμ±ν΄μ£Όλ μ μ λ©μλ(νΉμ ν©ν°λ¦¬)λ₯Ό λͺ¨μ λμ μ μλ€.
- μλ° 8λΆν° μ΄λ¬ν λ©μλλ₯Ό μΈν°νμ΄μ€λ₯Ό λ£μ μ λ μλ€.
- final ν΄λμ€λ₯Ό
μμν΄μ νμ ν΄λμ€μ λ©μλλ₯Ό λ£λ 건 λΆκ°λ₯ νκΈ° λλ¬Έμ΄λ€. λΆλ³μ±μ μν΄ μμ μμ λͺ»νκ² λ§μμ Έ μμ
μ μ λ©€λ²λ§ λ΄μ μ νΈλ¦¬ν° ν΄λμ€λ μΈμ€ν΄μ€λ‘ λ§λ€μ΄ μ°λ €κ³ μ€κ³ν κ² μλλ€. νμ§λ§ μμ±μλ₯Ό λͺ
μνμ§ μμΌλ©΄ μ»΄νμΌλ¬κ° μλμΌλ‘ κΈ°λ³Έ μμ±μλ₯Ό λ§λ€μ΄μ€λ€. μ¦, λ§€κ°λ³μλ₯Ό λ°μ§ μλ public μμ±μκ° λ§λ€μ΄μ§λ©°, μ¬μ©μλ μ΄ μμ±μκ° μλ μμ±λ κ²μΈμ§ ꡬλΆν μ μλ€.
μΆμ ν΄λμ€λ‘ λ§λλ κ²μΌλ‘λ μΈμ€ν΄μ€νλ₯Ό λ§μ μ μλ€. νμ ν΄λμ€λ₯Ό λ§λ€μ΄ μΈμ€ν΄μ€ννλ©΄ κ·Έλ§μ΄λ€.
μ»΄νμΌλ¬κ° κΈ°λ³Έ μμ±μλ₯Ό λ§λλ κ²½μ°λ μ€μ§ λͺ
μλ μμ±μκ° μμ λλΏμ΄λ private μμ±μλ₯Ό μΆκ°νλ©΄ ν΄λμ€μ μΈμ€ν΄μ€νλ₯Ό λ§μ μ μλ€.
μ½μ΄λ³΄λ©΄ μ’μ λΈλ‘κ·Έ κΈ : utillity classλ 무μμΌλ‘ ꡬννλ κ²μ΄ μ’μκΉ?
public class UtilityClass {
// κΈ°λ³Έ μμ±μκ° λ§λ€μ΄μ§λ κ²μ λ§λλ€ (μΈμ€ν΄μ€ν λ°©μ§μ©)
private UtilityClass() {
throw new AssertionError("μ΄ ν΄λμ€λ μΈμ€ν΄μ€νν μ μμ΅λλ€.");
}
// μ νΈλ¦¬ν° λ©μλ
public static void utilityMethod() {
// μ νΈλ¦¬ν° λ©μλμ ꡬν
System.out.println("μ νΈλ¦¬ν° λ©μλ νΈμΆ!");
}
}μ νΈλ¦¬ν° ν΄λμ€λ₯Ό μ€κ³ν λ, private μμ±μλ₯Ό μ¬μ©νμ¬ μΈμ€ν΄μ€νλ₯Ό λ°©μ§νλ λ°©λ²
privateμμ±μ:privateλ‘ μ μΈλ μμ±μλ ν΄λμ€ μΈλΆμμ μ κ·Όν μ μμ΄ μΈμ€ν΄μ€λ₯Ό μμ±ν μ μλ€.- μμ±μ μμμ
AssertionErrorλ₯Ό λμ§μΌλ‘μ¨, μ€μλ‘λΌλ μμ±μκ° νΈμΆλλ κ²μ λ°©μ§ν μ μλ€. μ΄λ μ½λμ μμ μ±μ λμ΄λ λ° κΈ°μ¬
- μ§κ΄μ±:
- μμ±μκ° μ‘΄μ¬νμ§λ§ νΈμΆν μ μλ μν©μ΄ μ§κ΄μ μ΄μ§ μμ μ μλ€. λ°λΌμ μ μ ν μ£Όμμ μΆκ°νμ¬ μ½λμ μλλ₯Ό λͺ νν νλ κ²μ΄ μ€μ
- μμ λ°©μ§:
- λͺ¨λ μμ±μλ μμ ν΄λμ€μ μμ±μλ₯Ό νΈμΆν΄μΌ νλλ°,
privateμμ±μλ₯Ό μ¬μ©νλ©΄ νμ ν΄λμ€κ° μμ ν΄λμ€μ μμ±μμ μ κ·Όν μ μκ² λλ€. μ΄λ‘ μΈν΄ μμμ ν΅ν μΈμ€ν΄μ€νλ λ§ν
- λͺ¨λ μμ±μλ μμ ν΄λμ€μ μμ±μλ₯Ό νΈμΆν΄μΌ νλλ°,
- λΉλλ₯Ό μ¬μ©νκ² νλ €κ³ κ²°κ΅ privateλ‘ μμ±μλ₯Ό λ§μ μ μ΄ μμ κ°μ νκΈ° μν΄