Skip to content

Latest commit

Β 

History

History
44 lines (34 loc) Β· 2.29 KB

File metadata and controls

44 lines (34 loc) Β· 2.29 KB

정적 멀버 클래슀

정적 멀버 클래슀(Static Member Class)λŠ” μ™ΈλΆ€ 클래슀의 μΈμŠ€ν„΄μŠ€μ™€λŠ” λ…λ¦½μ μœΌλ‘œ μ‘΄μž¬ν•˜λŠ” ν΄λž˜μŠ€μž…λ‹ˆλ‹€. 즉, 정적 멀버 ν΄λž˜μŠ€λŠ” μ™ΈλΆ€ 클래슀의 μΈμŠ€ν„΄μŠ€ 없이도 생성할 수 있으며, μ™ΈλΆ€ 클래슀의 μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λ‚˜ λ©”μ„œλ“œμ— 직접 μ ‘κ·Όν•  수 μ—†μŠ΅λ‹ˆλ‹€. λŒ€μ‹ , μ™ΈλΆ€ 클래슀의 static λ©€λ²„μ—λ§Œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ£Όμš” νŠΉμ§•

  1. 독립성: 정적 멀버 ν΄λž˜μŠ€λŠ” μ™ΈλΆ€ 클래슀의 μΈμŠ€ν„΄μŠ€ 없이도 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 객체λ₯Ό 생성할 λ•Œ μ™ΈλΆ€ 클래슀의 객체가 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  2. μ ‘κ·Ό μ œν•œ: 정적 멀버 ν΄λž˜μŠ€λŠ” μ™ΈλΆ€ 클래슀의 μΈμŠ€ν„΄μŠ€ 멀버(λ³€μˆ˜ 및 λ©”μ„œλ“œ)에 직접 μ ‘κ·Όν•  수 μ—†μŠ΅λ‹ˆλ‹€. λŒ€μ‹ , μ™ΈλΆ€ 클래슀의 static λ©€λ²„μ—λ§Œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  3. λ„€μž„μŠ€νŽ˜μ΄μŠ€: 정적 멀버 클래슀λ₯Ό μ‚¬μš©ν•˜λ©΄ κ΄€λ ¨λœ 클래슀λ₯Ό κ·Έλ£Ήν™”ν•˜μ—¬ μ½”λ“œμ˜ 가독성을 높일 수 μžˆμŠ΅λ‹ˆλ‹€.

예제 (Java)

public class OuterClass {
    private static String staticVariable = "Hello";
    private String instanceVariable = "World";

    // 정적 멀버 클래슀
    public static class StaticNestedClass {
        public void display() {
            // μ™ΈλΆ€ 클래슀의 static λ³€μˆ˜μ— μ ‘κ·Ό κ°€λŠ₯
            System.out.println(staticVariable);
            // μ™ΈλΆ€ 클래슀의 μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ— 직접 μ ‘κ·Ό λΆˆκ°€
            // System.out.println(instanceVariable); // 였λ₯˜ λ°œμƒ
        }
    }
}

public class Main {
    public static void main(String[] args) {
        // 정적 멀버 클래슀의 객체 생성
        OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
        nestedObject.display(); // "Hello" 좜λ ₯
    }
}

μ„€λͺ…

  • OuterClass 내뢀에 StaticNestedClassλΌλŠ” 정적 멀버 클래슀λ₯Ό μ •μ˜ν–ˆμŠ΅λ‹ˆλ‹€.
  • StaticNestedClassμ—μ„œλŠ” OuterClass의 staticVariable에 μ ‘κ·Όν•  수 μžˆμ§€λ§Œ, μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μΈ instanceVariableμ—λŠ” μ ‘κ·Όν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  • Main ν΄λž˜μŠ€μ—μ„œ 정적 멀버 클래슀λ₯Ό μƒμ„±ν•˜κ³  μ‚¬μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

정적 멀버 ν΄λž˜μŠ€λŠ” μ½”λ“œ ꡬ쑰λ₯Ό 더 λͺ…ν™•ν•˜κ²Œ ν•˜κ³ , κ΄€λ ¨λœ 클래슀λ₯Ό κ·Έλ£Ήν™”ν•˜λŠ” 데 μœ μš©ν•©λ‹ˆλ‹€.