μ μ λ©€λ² ν΄λμ€(Static Member Class)λ μΈλΆ ν΄λμ€μ μΈμ€ν΄μ€μλ λ
립μ μΌλ‘ μ‘΄μ¬νλ ν΄λμ€μ
λλ€. μ¦, μ μ λ©€λ² ν΄λμ€λ μΈλΆ ν΄λμ€μ μΈμ€ν΄μ€ μμ΄λ μμ±ν μ μμΌλ©°, μΈλΆ ν΄λμ€μ μΈμ€ν΄μ€ λ³μλ λ©μλμ μ§μ μ κ·Όν μ μμ΅λλ€. λμ , μΈλΆ ν΄λμ€μ static λ©€λ²μλ§ μ κ·Όν μ μμ΅λλ€.
- λ 립μ±: μ μ λ©€λ² ν΄λμ€λ μΈλΆ ν΄λμ€μ μΈμ€ν΄μ€ μμ΄λ μ¬μ©ν μ μμ΅λλ€. κ°μ²΄λ₯Ό μμ±ν λ μΈλΆ ν΄λμ€μ κ°μ²΄κ° νμνμ§ μμ΅λλ€.
- μ κ·Ό μ ν: μ μ λ©€λ² ν΄λμ€λ μΈλΆ ν΄λμ€μ μΈμ€ν΄μ€ λ©€λ²(λ³μ λ° λ©μλ)μ μ§μ μ κ·Όν μ μμ΅λλ€. λμ , μΈλΆ ν΄λμ€μ
staticλ©€λ²μλ§ μ κ·Όν μ μμ΅λλ€. - λ€μμ€νμ΄μ€: μ μ λ©€λ² ν΄λμ€λ₯Ό μ¬μ©νλ©΄ κ΄λ ¨λ ν΄λμ€λ₯Ό κ·Έλ£Ήννμ¬ μ½λμ κ°λ μ±μ λμΌ μ μμ΅λλ€.
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ν΄λμ€μμ μ μ λ©€λ² ν΄λμ€λ₯Ό μμ±νκ³ μ¬μ©νμμ΅λλ€.
μ μ λ©€λ² ν΄λμ€λ μ½λ ꡬ쑰λ₯Ό λ λͺ ννκ² νκ³ , κ΄λ ¨λ ν΄λμ€λ₯Ό κ·Έλ£Ήννλ λ° μ μ©ν©λλ€.