Item 22. Constant Interface

μΈν„°νŽ˜μ΄μŠ€λŠ” νƒ€μž…μ„ μ •μ˜ν•˜λŠ” μš©λ„λ‘œλ§Œ μ‚¬μš©ν•˜λΌ.

ν΄λž˜μŠ€κ°€ νŠΉμ • μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•˜λŠ” 것은 'κ·Έ μΈν„°νŽ˜μ΄μŠ€μ˜ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€'λŠ” 것을 μ˜λ―Έν•œλ‹€. ν•˜μ§€λ§Œ λ©”μ„œλ“œ 없이 μƒμˆ˜(static final)만 μ œκ³΅ν•˜λŠ” μƒμˆ˜ μΈν„°νŽ˜μ΄μŠ€λŠ” μΈν„°νŽ˜μ΄μŠ€μ˜ νŠΉμ§•μ„ 잘λͺ» μ‚¬μš©ν•œ μ•ˆν‹° νŒ¨ν„΄μœΌλ‘œ, μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹λ‹€.

public interface PhysicalConstants {
    static final double AVOGADROS_NUMBER = 6.022_140_857e23;
    static final double BOLTZMANN_CONSTANT = 1.380_648_52e-23;
    static final double ELECTRON_MASS = 9.109_383_56e-31;
}

μƒμˆ˜ μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•˜λ©΄ κ²°κ΅­ 이 μƒμˆ˜λ₯Ό API둜 λ…ΈμΆœν•˜κ²Œ λ˜μ–΄ μΈν„°νŽ˜μ΄μŠ€μ˜ 역할을 ν›Όμ†ν•˜κ²Œ λœλ‹€. κ²Œλ‹€κ°€ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ ν˜Όλž€μ„ 쀄 수 있으며, 이 μƒμˆ˜ 값듀에 μ’…μ†λ˜μ–΄ μœ μ§€λ³΄μˆ˜κ°€ μ–΄λ €μ›Œμ§„λ‹€.(μžλ°” ν”Œλž«νΌ λΌμ΄λΈŒλŸ¬λ¦¬μ—μ„œλ„ μƒμˆ˜ μΈν„°νŽ˜μ΄μŠ€κ°€ μ‘΄μž¬ν•˜λ‚˜, 잘λͺ» μ‚¬μš©ν•œ 예라고 ν•  수 μžˆλ‹€.)

μƒμˆ˜ μΈν„°νŽ˜μ΄μŠ€μ˜ λŒ€μ•ˆ

μƒμˆ˜ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒλ³΄λ‹€λŠ” μΈμŠ€ν„΄μŠ€ν™”ν•  수 μ—†λŠ” μœ ν‹Έλ¦¬ν‹° 클래슀λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€.

public class PhysicalConstants {
    private PhysicalConstants() {} // μΈμŠ€ν„΄μŠ€ν™” 방지

    public static final double AVOGADROS_NUMBER = 6.022_140_857e23;
    public static final double BOLTZMANN_CONSTANT = 1.380_648_52e-23;
    public static final double ELECTRON_MASS = 9.109_383_56e-31;
}

Last updated