μ„ μ–Έ μœ„μΉ˜μ— λ”°λ₯Έ λ³€μˆ˜μ˜ μ’…λ₯˜ - μ§€μ—­λ³€μˆ˜ , μ „μ—­ λ³€μˆ˜

β—‹ μ§€μ—­λ³€μˆ˜ ( Local variable )

-  λ©”μ†Œλ“œ μ•ˆμ— 생성 되고 λ©”μ†Œλ“œ ν˜ΈμΆœμ‹œ λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°”λ‹€κ°€ λ©”μ†Œλ“œκ°€ 끝날 λ•Œ μ†Œλ©Έ λ˜λŠ” λ³€μˆ˜.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class var{
 
    public static void main(String[] args){
 
        //지역 λ³€μˆ˜ n 
        int n;        
        //-- μ„ μ–Έν›„ μ΄ˆκΈ°ν™” κ³Όμ •μ„ κ±°μΉ˜μ§€ μ•Šμ€ μƒνƒœ
 
        System.out.println("n" + n);
        //--> μ—λŸ¬ λ°œμƒ (컴파일 μ—λŸ¬)
        //    error: variable n might not have been initialized
        //--- μ§€μ—­ λ³€μˆ˜ n μ— μ ‘κ·Όν•˜μ—¬ κ·Έκ°’을 μΆœλ ₯ν•˜κ³ μž ν•˜λŠ” κ΅¬λ¬Έ
 
    }
cs

λ¬Έμž₯ 9 ) 지역 λ³€μˆ˜λŠ” μ΄ˆκΈ°ν™” 과정을 κ±°μΉ˜μ§€ μ•ŠμœΌλ©΄ μ‚¬μš© ν•  수 μ—†λ‹€.

 

β—‹ μ „μ—­λ³€μˆ˜ ( Global variable)

- μ „μ—­ λ³€μˆ˜λŠ” 클래슀 첫뢀뢄에 μž‘μ„± 된 λ³€μˆ˜λ‘œ μΈμŠ€ν„΄μŠ€λ³€μˆ˜μ™€ 클래슀 λ³€μˆ˜(static λ³€μˆ˜)둜 λ‚˜λˆ μ§€κ²Œ λœλ‹€.

    1. μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ (instance)

       : 클래슀 μ˜μ—­μ—μ„œ μ„ μ–Έλ˜λ©° 객체가 생성 될 λ•Œ λ§ˆλ‹€ λ§Œλ“€μ–΄μ§€κ³  객체가 μƒμ„±λ˜μ—ˆμ„ λ•Œλ§Œ ν˜ΈμΆœν•˜μ—¬ μ‚¬μš©  ν•   수 μžˆλ‹€.

    2.클래슀 λ³€μˆ˜ ( static )

       : 클래슀 λ³€μˆ˜λŠ” 객체λ₯Ό μƒμ„±ν•˜μ§€ μ•Šμ•„λ„ μ‚¬μš© κ°€λŠ₯ ν•˜λ‹€.

 - 클래슀 λ³€μˆ˜ vs μΈμŠ€ν„΄μŠ€ λ³€μˆ˜

      : μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λŠ” 객체 생성이 될 λ•Œ λ§ˆλ‹€ μ„œλ‘œ λ‹€λ₯Έ μ €μž₯ 곡간을 가지고

        클래슀 λ³€μˆ˜λŠ”  객체 생성이 μ—¬λŸ¬λ²ˆ λ˜μ–΄λ„ ν•˜λ‚˜μ˜ μ €μž₯곡간을 가진닀.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class Gvar{
 
    //μ „μ—­ λ³€μˆ˜ μ„ μ–Έ
    int a;        
    boolean b;
    char c;
    double d;
 
    public static void main(String[] args){
        
        //System.out.println("a "+ a); 
        //-- non-static variable a cannot be referenced from a static context
        
        Gvar ob= new Gvar();
        System.out.println("int a     :" + ob.a);
        //μ „μ—­ λ³€μˆ˜λŠ” μ΄ˆκΈ°ν™” ν•˜μ§€ μ•Šμ•„도 μžλ°”κ°€ μžλ™μœΌλ‘œ ν•΄μ€€λ‹€.
 
        System.out.println("boolean b :" +ob.b);
 
        System.out.println("char c    :" +ob.c);
        
        System.out.println("double d  :" + ob.d);
    
 
    }
 
}
cs

λ¬Έμž₯ 11 ) λ¬Έμž₯ 11λ²ˆμ„ 보면 static ν•¨μˆ˜μ—λŠ” staicλ³€μˆ˜λ§Œ μ‚¬μš© ν•  수 μžˆλ‹€.

                  ->κ·Έλž˜μ„œ λ°”λ‘œ λΆˆλŸ¬μ„œ μ‚¬μš© ν•  수 μ—†λ‹€.

λ¬Έμž₯ 14 )  λ°”λ‘œ λΆˆλŸ¬μ„œ μ‚¬μš© ν•  수 μ—†μœΌλ―€λ‘œ μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•˜μ—¬ 객체λ₯Ό ν†΅ν•΄μ„œ μ‚¬μš© ν•  수 μžˆλ‹€.

 

β—‹μ „μ—­λ³€μˆ˜ κΈ°λ³Έ μ΄ˆκΈ°ν™”λœ κ°’

 

 

- int : 0

- boolean: false 

- char : ' '

- double : 0.0

- String :null

+ Recent posts