2023. 3. 8. 13:43γJAVA/Effective JAVA
[μ΄νν°λΈ μλ°] Item22. μΈν°νμ΄μ€λ νμ μ μ μνλ μ©λλ‘λ§ μ¬μ©νλΌ.
μΈν°νμ΄μ€λ μμ μ ꡬνν ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μ°Έμ‘°ν μ μλ νμ μν μ νλ€.
λ¬λ¦¬ λ§ν΄, ν΄λμ€κ° μ΄λ€ μΈν°νμ΄μ€λ₯Ό ꡬννλ€λ κ²μ μμ μ μΈμ€ν΄μ€λ‘ 무μμ ν μ μλμ§λ₯Ό ν΄λΌμ΄μΈνΈμκ² μλ €μ£Όλ κ²μ΄λ€.
λ°λΌμ μΈν°νμ΄μ€λ μ€μ§ μ΄ μ©λλ‘λ§ μ¬μ©νλ κ²μ΄ λ§λ€..!!
μΈν°νμ΄μ€λ₯Ό νμ μ μ μνλ μ©λλ‘ μ¬μ©νλ κ²μ΄ μλ μλ‘λ μμ μΈν°νμ΄μ€κ° μλ€.
public interface PhysicalConstants {
// μ보κ°λλ₯΄ μ (1/λͺ°)
static final double AVOGADROS_NUMBER = 6.022_14_857e23;
// λ³ΌμΈ λ§ μμ (J/K)
static final double BOLTZMANN_CONSTANT = 1.380_648_52e-23;
// μ μ μ§λ (kg)
static final double ELECTRON_MASS = 9.109_383_56e-31;
}
μμ μΈν°νμ΄μ€λ λ©μλ μμ΄, μμλ₯Ό λ»νλ static final νλλ‘λ§ κ°λ μ°¬ μΈν°νμ΄μ€λ₯Ό λ§νλ€.
public class MyClass implements PhysicalConstants
{
public static void main(String[] args) {
System.out.println("BOLTZMANN_CONSTANT = " + BOLTZMANN_CONSTANT);
}
}
κ·Έλ¦¬κ³ μ΄ μμλ€μ μ¬μ©νλ €λ ν΄λμ€μμλ μ κ·νλ μ΄λ¦μ μ°λκ±Έ νΌνκ³ μ κ·Έ μΈν°νμ΄μ€λ₯Ό implements νλ€.
μ΄λ κ² ν΄λΉ μΈν°νμ΄μ€λ₯Ό implements ν΄μ κ°μ μ§μ μ¬μ©νκ³ μ ν λ €κ³ νλλ° μ΄κ±΄ μΈν°νμ΄μ€μ μν μ 무μνκ³ μ¬μ©νλ μν°ν¨ν΄μ΄λ€!!
μΈν°νμ΄μ€λ₯Ό μμλ₯Ό μ μνλ μ©λλ‘ μ¬μ©νλ©΄ ν΄λΌμ΄μΈνΈμκ² νΌλμ μ£Όκ³ , μ΄λ κ² ν΄λμ€ λ΄λΆμμ μ¬μ©νλ μμλ λ΄λΆ ꡬνμ ν΄λΉνλλ° μ΄λ κ² μΈν°νμ΄μ€μ μ μλ₯Ό νλ©΄ λ΄λΆ ꡬνμ ν΄λμ€μ apiλ‘ λ ΈμΆνλ νμκ° λλ€.
μΈν°νμ΄μ€λ νμ μ μ μνλ μ©λλ‘ μ¬μ©ν΄μΌμ§ μ΄λ κ² μμλ₯Ό μ μνλ μ©λλ‘ μ¬μ©νλ©΄ μλλ€!!!
(μμλ₯Ό μ μν μμ ν΄λμ€κ° Myclassμ νμ μ μλμμ)
public final class PhysicalConstants { // μμμ λ§μμ μ¬μ©ν μ μμ!!
private PhysicalConstants() {
}
// μ보κ°λλ₯΄ μ (1/λͺ°)
static final double AVOGADROS_NUMBER = 6.022_14_857e23;
// λ³ΌμΈ λ§ μμ (J/K)
static final double BOLTZMANN_CONSTANT = 1.380_648_52e-23;
// μ μ μ§λ (kg)
static final double ELECTRON_MASS = 9.109_383_56e-31;
}
λμ μ΄λ κ² μ νΈλ¦¬ν° ν΄λμ€λ‘ λ°λ‘ λ§λ€μ΄μ μμμ λͺ»νκ² νκ³ , μΈμ€ν΄μ€ν ν μ μλλ‘ λ§μλκ³ , μμλ₯Ό μ μνλ©΄ λλ€.
μ νΈλ¦¬ν° ν΄λμ€ μΈμλ μ΄κ±° νμ μΌλ‘ λνλ΄κΈ° μ ν©ν μμλΌλ©΄ μ΄κ±°νμ μΌλ‘ λ§λ€μ΄μ 곡κ°νλ©΄ λκ³ , νΉμ ν΄λμ€λ μΈν°νμ΄μ€μ κ°νκ² μ°κ΄λ μμλΌλ©΄ κ·Έ ν΄λμ€λ μΈν°νμ΄μ€ μ체μ μΆκ°νλ©΄ λλ€.
π μ 리
μΈν°νμ΄μ€λ νμ μ μ μνλ μ©λλ‘λ§ μ¬μ©ν΄μΌμ§ μμ 곡κ°μ© μλ¨μΌλ‘ μ¬μ©νλ©΄ μλλ€!!!!