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

Was this helpful?