Item 25. Limit File Top-level Class

ν†±λ ˆλ²¨ ν΄λž˜μŠ€λŠ” ν•œ νŒŒμΌμ— ν•˜λ‚˜λ§Œ λ‹΄μœΌλΌ

μ†ŒμŠ€ 파일 ν•˜λ‚˜μ— ν†±λ ˆλ²¨ 클래슀λ₯Ό μ—¬λŸ¬ 개 μ„ μ–Έν•˜λŠ” 것은 κ°€λŠ₯은 ν•˜μ§€λ§Œ μ•„λ¬΄λŸ° μž₯점이 μ—†κΈ° λ•Œλ¬Έμ— ν”Όν•΄μ•Ό ν•œλ‹€. ν•œ 파일 μ•ˆμ— μ—¬λŸ¬ 개λ₯Ό μ„ μ–Έν•˜λ©΄ ν•œ 클래슀λ₯Ό μ—¬λŸ¬ κ°€μ§€λ‘œ μ •μ˜ν•  수 있게 λ˜λŠ”λ°, μ΄λ ‡κ²Œ 되면 μ–΄λŠ μ†ŒμŠ€ νŒŒμΌμ„ λ¨Όμ € μ»΄νŒŒμΌν•˜λŠλƒμ— 따라 λ™μž‘μ΄ λ‹¬λΌμ§€κ²Œ λœλ‹€.

// Foo.java
class Foo {
    static final String NAME = "Foo - foo";
}

class Bar {
    static final String NAME = "Foo - bar";
}

// Bar.java
class Bar {
    static final String NAME = "Bar - bar";
}

class Foo {
    static final String NAME = "Bar - foo";
}

// Main.java
public class Main {
    public static void main(String[] args) {
        System.out.println(Foo.NAME);
        System.out.println(Bar.NAME);
    }
}

IDE ν™˜κ²½μ—μ„œλŠ” μ• μ΄ˆμ— μ€‘λ³΅λœ 클래슀λͺ…을 μ‚¬μš©ν•  수 μ—†κΈ° λ•Œλ¬Έμ— μœ„μ™€ 같이 μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ 컴파일 μ—λŸ¬κ°€ λ°œμƒν•œλ‹€. ν•˜μ§€λ§Œ javac λͺ…λ Ήμ–΄λ₯Ό 톡해 직접 μ»΄νŒŒμΌν•˜λ©΄ μ‹€ν–‰ν•œ λͺ…령어에 λ“€μ–΄κ°„ μΈμˆ˜μ— 따라 λ‹€λ₯Έ κ²°κ³Όκ°€ 좜λ ₯λœλ‹€.

ν•΄κ²° 방법

ν•΄κ²° 방법은 μ•„μ£Ό κ°„λ‹¨ν•˜κ²Œ, μ†ŒμŠ€ νŒŒμΌμ„ λΆ„λ¦¬ν•˜λ©΄ ν•΄κ²°λ˜κ³ , κΌ­ 같은 νŒŒμΌμ— μ—¬λŸ¬ ν†±λ ˆλ²¨ 클래슀λ₯Ό μ„ μ–Έν•΄μ•Ό ν•œλ‹€λ©΄ 정적 멀버 클래슀λ₯Ό μ‚¬μš©ν•˜λ©΄ λœλ‹€.

Last updated

Was this helpful?