Java: Variable&Method

    Java: Variable&Method

    2022, May 10    

    λ³€μˆ˜μ™€ λ©”μ„œλ“œ

    λ³€μˆ˜

    λ³€μˆ˜μ—λŠ” 클래슀 λ³€μˆ˜, μΈμŠ€ν„΄μŠ€ λ³€μˆ˜, μ§€μ—­λ³€μˆ˜ μ„Έ μ’…λ₯˜κ°€ μžˆλ‹€.
    이런 λ³€μˆ˜μ˜ μ’…λ₯˜λ₯Ό κ²°μ •μ§“λŠ” 것은 μ„ μ–Έλœ μœ„μΉ˜μ΄λ‹€.
    λ©€λ²„λ³€μˆ˜λ₯Ό μ œμ™Έν•œ λ‚˜λ¨Έμ§€ λ³€μˆ˜λŠ” λͺ¨λ‘ μ§€μ—­λ³€μˆ˜μ΄λ©° λ©€λ²„λ³€μˆ˜ 쀑 static이 뢙은 것은 클래슀, λΆ™μ§€ μ•Šμ€ 것은 μΈμŠ€ν„΄μŠ€λ³€μˆ˜λ‹€.

    class Variable{
        int instanceVariable;       //μΈμŠ€ν„΄μŠ€λ³€μˆ˜
        static int classVariable;   //ν΄λž˜μŠ€λ³€μˆ˜
        
        void method(){
            int localVariable;      //μ§€μ—­λ³€μˆ˜
        }
    }
    

    μ •λ¦¬ν•˜λ©΄ μ•„λž˜μ™€ κ°™λ‹€

    • λ³€μˆ˜μ˜ μ’…λ₯˜
      • 클래슀 λ³€μˆ˜ : λͺ¨λ“  μΈμŠ€ν„΄μŠ€κ°€ κ³΅ν†΅λœ μ €μž₯곡간을 κ³΅μœ ν•¨. κ·Έλž˜μ„œ 곡유 λ³€μˆ˜λΌκ³  λΆ€λ₯΄κΈ°λ„ 함.
        • μ„ μ–Έ μœ„μΉ˜
          • 클래슀 μ˜μ—­
        • μƒμ„±μ‹œκΈ°
          • ν΄λž˜μŠ€κ°€ λ©”λͺ¨λ¦¬μ— 올라갈 λ•Œ
      • μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ : 클래슀의 μΈμŠ€ν„΄μŠ€ μƒμ„±μ‹œ λ§Œλ“€μ–΄μ§€λ©°, μΈμŠ€ν„΄μŠ€ 생성 ν›„ λ³€μˆ˜μ˜ 값을 읽고 μ €μž₯ν•˜λŠ” 것이 κ°€λŠ₯. 독립적인 μ €μž₯곡간을 κ°€μ§€λ―€λ‘œ μ„œλ‘  λ‹€λ₯Έ 값을 κ°€μ§ˆ 수 μžˆλ‹€.
        • μ„ μ–Έ μœ„μΉ˜
          • 클래슀 μ˜μ—­
        • μƒμ„±μ‹œκΈ°
          • μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λ˜μ—ˆμ„ λ•Œ
      • μ§€μ—­ λ³€μˆ˜ : λ©”μ„œλ“œ 내에 μ„ μ–Έλ˜μ–΄ λ©”μ„œλ“œ λ‚΄μ—μ„œλ§Œ μ‚¬μš© κ°€λŠ₯ν•˜λ©° λ©”μ„œλ“œκ°€ μ’…λ£Œλ˜λ©΄ μ†Œλ©Έλ˜μ–΄ μ‚¬μš©μ΄ λΆˆκ°€ν•¨.
        • μ„ μ–Έ μœ„μΉ˜
          • 클래슀 μ˜μ—­μ„ μ œμ™Έν•œ μ˜μ—­
            • λ©”μ„œλ“œ, μƒμ„±μž, μ΄ˆκΈ°ν™” λΈ”λŸ­ λ‚΄λΆ€
        • μƒμ„±μ‹œκΈ°
          • λ³€μˆ˜ 선언문이 μˆ˜ν–‰λ˜μ—ˆμ„ λ•Œ

    μœ„μ˜ λ‚΄μš©λ“€μ„ μ’…ν•©ν•˜λ©΄ μ•„λž˜μ˜ μ½”λ“œλ‘œ 정리할 수 μžˆλ‹€.
    클래슀 λ‚΄ μ„ μ–Έλœ μΈμŠ€ν„΄μŠ€μ™€ 클래슀 λ³€μˆ˜(λ˜λŠ” λ©”μ„œλ“œ)인 λ©€λ²„λ³€μˆ˜λŠ” μ„œλ‘œ μ‚¬μš©ν•  수 μžˆμœΌλ‚˜ static λ©”μ„œλ“œμ˜ 경우 μΈμŠ€ν„΄μŠ€ λ³€μˆ˜(λ©”μ„œλ“œ)λŠ” μ‚¬μš©ν•  수 μ—†λ‹€.

    public class TestClass2 {
        int iv; //μΈμŠ€ν„΄μŠ€λ³€μˆ˜
        static int cv; //클래슀 λ³€μˆ˜
    
        void instanceMethod(){      //μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ
            System.out.println(iv); //μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ μ‚¬μš©κ°€λŠ₯
            System.out.println(cv); //ν΄λž˜μŠ€λ³€μˆ˜ μ‚¬μš©κ°€λŠ₯
        }
    
        static void statiMethod(){  //static λ©”μ„œλ“œ
            System.out.println(iv); //μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ μ‚¬μš© λΆˆκ°€
            System.out.println(cv); //클래슀 λ³€μˆ˜ μ‚¬μš© κ°€λŠ₯
        }
        
    }