Coding Planet
[μ΄νν°λΈ μλ°]chapter2 : [μμ΄ν 4] μΈμ€ν΄μ€νλ₯Ό λ§μΌλ €κ±°λ private μμ±μλ₯Ό μ¬μ©νλΌ λ³Έλ¬Έ
π» Java Study/Java μ΄λ‘ μ 리
[μ΄νν°λΈ μλ°]chapter2 : [μμ΄ν 4] μΈμ€ν΄μ€νλ₯Ό λ§μΌλ €κ±°λ private μμ±μλ₯Ό μ¬μ©νλΌ
jhj.sharon 2023. 8. 10. 00:38λ°μν
μμ΄ν 4: μΈμ€ν΄μ€νλ₯Ό λ§μΌλ €κ±°λ private μμ±μλ₯Ό μ¬μ©νλΌ
μΈμ€ν΄μ€ν(instance instantiation)λ ν΄λμ€μ μ μλ₯Ό κΈ°λ°μΌλ‘ μ€μ κ°μ²΄λ₯Ό λ©λͺ¨λ¦¬μ μμ±νλ κ³Όμ μ΄λ€. ν΄λμ€μ μΈμ€ν΄μ€νλ₯Ό λ§κΈ°μν΄ private μμ±μλ₯Ό μ¬μ©νλ κ²μ ν΄λμ€λ₯Ό μΈλΆμμ μΈμ€ν΄μ€ννλ κ²μ λ°©μ§νκΈ° μν ν ν¬λμ΄λ€. ν΄λμ€μ μ μλ μμ±μκ° λͺ¨λ 'private'μΌλ‘ μ μΈλλ©΄, κ·Έ ν΄λμ€λ μΈλΆμμ κ°μ²΄λ₯Ό μμ±ν μ μκ² λλ€. μ΄λ¬ν μ κ·Ό μ νμλ₯Ό μ¬μ©νλ κ²μ μ£Όλ‘ μ νΈλ¦¬ν° ν΄λμ€λ μμλ§μ ν¬ν¨νλ ν΄λμ€μ κ°μ΄ μΈμ€ν΄μ€νλ νμκ° μλ ν΄λμ€λ€μ μ μ©λλ€.
1. μ μ λ©μλμ μ μ νλλ§μ λ΄μ μ νΈμ± ν΄λμ€λ λ§λλ κ²½μ°
- κΈ°λ³Έ νμ κ°μ΄λ λ°°μ΄ κ΄λ ¨ λ©μλλ€μ λͺ¨μλμ λ : java.lang.Math, java.util.Arrays
- νΉμ μΈν°νμ΄μ€λ₯Ό ꡬννλ κ°μ²΄λ₯Ό μμ±ν΄μ£Όλ μ μ λ©μλ(νΉμ ν©ν°λ¦¬)λ₯Ό λͺ¨μλμ λ : java.util.Collections
- final ν΄λμ€μ κ΄λ ¨ν λ©μλλ€μ λͺ¨μλμ λ β final ν΄λμ€λ₯Ό μμν΄μ νμ ν΄λμ€μ λ©μλλ₯Ό λ£λ κ²μ΄ λΆκ°λ₯νκΈ° λλ¬Έμ
→ μ΄λ¬ν κ²½μ°μ μ νΈλ¦¬ν° ν΄λμ€λ μΈμ€ν΄μ€λ‘ λ§λ€μ΄ μ°λ €κ³ μ€κ³ν κ²μ΄ μλκΈ° λλ¬Έμ μΈμ€ν΄μ€νλ₯Ό λ§μ μ£Όλ κ²μ΄ μ’λ€. μΆμν΄λμ€λ‘ λ§λλ κ²μΌλ‘λ μΈμ€ν΄μ€νλ₯Ό λ§μ μ μλ€. νμ ν΄λμ€λ₯Ό λ§λ€μ΄ μΈμ€ν΄μ€ν ν μ μκΈ° λλ¬Έμ΄λ€. λν μ¬μ©μμμ μμν΄μ μ°λΌλ μ€ν΄λ₯Ό λΆλ¬μ¬ μ μλ€. private μμ±μλ₯Ό λ§λ€μ΄ μ£Όλ©΄ κ°λ¨νκ² μΈμ€ν΄μ€νλ₯Ό λ§μ μ μλ€.
2. μΈμ€ν΄μ€νλ₯Ό λ§κΈ° λ°©λ² private μμ±μ
- μμ±μλ₯Ό λͺ μνμ§ μμΌλ©΄ μ»΄νμΌλ¬λ μλμΌλ‘ κΈ°λ³Έ μμ±μλ₯Ό λ§λ€μ΄ μ€λ€. μ¦, 맀κ°λ³μλ₯Ό λ°μ§ μλ public μμ±μκ° λ§λ€μ΄μ§κ² λλ€. μ΄ λ μ¬μ©μλ μ΄ μμ±μκ° μλ μμ±λ κ²μΈμ§ ꡬλΆν μ μκ² λλ€.
- μ»΄νμΌλ¬κ° κΈ°λ³Έ μμ±μλ₯Ό λ§λλ κ²½μ°λ μ€μ§ λͺ μλ μμ±μκ° μμ λ λΏμ΄λ―λ‘ private μμ±μλ₯Ό μΆκ°νλ©΄ ν΄λμ€μ μΈμ€ν΄μ€νλ₯Ό λ§μ μ μλ€.
- μμ±μ λ΄λΆμ AssertionErrorλ₯Ό λμ§λ κ²μ, λ§μ½ ν΄λμ€ λ΄λΆλ 리νλ μ μ ν΅ν΄ μΈμ€ν΄μ€νλ₯Ό μλν κ²½μ°μ μλ¬λ₯Ό λ°μμν€κΈ° μν μΆκ°μ μΈ λ°©μ΄μΈ΅μ΄λ€.
- μ΄μ κ°μ λ°©μμ ν΅ν΄ μ νΈλ¦¬ν° ν΄λμ€κ° μ€μλ‘ κ°μ²΄λ‘ μμ±λλ κ²μ λ°©μ§νκ³ ν΄λμ€μ μ μ λ©μλμ λ³μλ§μ μ¬μ©νλλ‘ κ°μ νλ€. νμ ν΄λμ€κ° μμ ν΄λμ€μ μμ±μμ μ κ·Όν μ μμΌλ―λ‘ μμμ λ§μ μ μλ€.
- κ·Έλ°λ° μμ±μκ° λΆλͺ μ‘΄μ¬νλλ° νΈμΆν μλ μλ€λ, κ·Έλ€μ§ μ§κ΄μ μ΄μ§ μλ€. μ£Όμμ λ§λμ λ¬μμ£Όμ!
public class UtilityClass {
// κΈ°λ³Έ μμ±μκ° λ§λ€μ΄ μ§λ κ²μ λ§λλ€(μΈμ€ν΄μ€ λ°©μ§μ©)
private UtilityClass() {
throw new AssertionError("UtilityClass should not be instantiated!");
}
public static int add(int a, int b) {
return a + b;
}
public static int subtract(int a, int b) {
return a - b;
}
}
λ°μν
'π» Java Study > Java μ΄λ‘ μ 리' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Comments