ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • λ³€μˆ˜ 이야기(1) - μžλ°”μ˜ 4가지 λ³€μˆ˜
    개발/Java 2022. 3. 17. 17:07

    봄을 λ§žμ•„ λ°”κΏ”λ΄€μŠ΅λ‹ˆλ‹€ :)

     

     

    μ•ˆλ…•ν•˜μ„Έμš”, λͺ½λ°λΈŒμž…λ‹ˆλ‹€.

    μ˜€λŠ˜μ€ μžλ°”μ˜ λ³€μˆ˜μ— λŒ€ν•΄ 이야기 ν•΄λ³ΌκΉŒν•©λ‹ˆλ‹€.

     

    ν•΄λ‹Ή λ‚΄μš©μ€ 'μžλ°”μ˜ μ‹ ' chapter4λ₯Ό 기초둜 μž‘μ„±ν–ˆμœΌλ©°,

    이λ₯Ό 기반으둜 제 λ‚˜λ¦„μ˜ μš”μ•½ 정리λ₯Ό ν•œ κΈ€μž…λ‹ˆλ‹€.

     

    μžμ„Έν•œ 곡뢀λ₯Ό μœ„ν•΄μ„œλŠ”

    λ¨Όμ € 책을 읽고, μ •λ¦¬μš©μœΌλ‘œ μ°Έκ³ ν•˜μ‹œλ©΄ 베슀트일 것 κ°™μŠ΅λ‹ˆλ‹€!

     

     

    4가지 λ³€μˆ˜


    - 지역 λ³€μˆ˜(local variables)
    - 맀개 λ³€μˆ˜(parameters)
    - μΈμŠ€ν„΄μŠ€ λ³€μˆ˜(instance variables)
    - 클래슀 λ³€μˆ˜(class variables)

     

     

    μžλ°”μ—λŠ” μœ„μ™€ 같이 4가지 λ³€μˆ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

    μžμ„Ένžˆ ν’€μ–΄ μ„€λͺ…을 적기 λ³΄λ‹€λŠ” μš”μ•½ 정리λ₯Ό μœ„ν•œ κΈ€μ΄λ―€λ‘œ, ν•΄λ‹Ή λ‚΄μš©μ„ ν•œλˆˆμ— 보기 μ‰½κ²Œ ν‘œλ‘œ μž‘μ„±ν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€. 

     

    μ’…λ₯˜ μ„ μ–Έ μœ„μΉ˜ 생λͺ… μ£ΌκΈ°
    지역 λ³€μˆ˜(local variables) - μ€‘κ΄„ν˜Έ λ‚΄ - 지역 λ³€μˆ˜λ₯Ό μ„ μ–Έν•œ μ€‘κ΄„ν˜Έ λ‚΄μ—μ„œλ§Œ 유효
    맀개 λ³€μˆ˜(parameters) - λ©”μ†Œλ“œ 이름 μ˜† μ†Œκ΄„ν˜Έ λ‚΄ - λ©”μ†Œλ“œκ°€ 호좜될 λ•Œ 생λͺ…이 μ‹œμž‘
    - λ©”μ†Œλ“œκ°€ λλ‚˜λ©΄ μ†Œλ©Έ
    μΈμŠ€ν„΄μŠ€ λ³€μˆ˜(instance variables) - λ©”μ†Œλ“œ λ°–, 클래슀 μ•ˆ
    - static μ—†μ–΄μ•Ό 함
    - 객체가 생성될 λ•Œ 생λͺ…이 μ‹œμž‘
    - κ·Έ 객체λ₯Ό μ°Έμ‘°ν•˜κ³  μžˆλŠ” λ‹€λ₯Έ 객체가 μ—†μœΌλ©΄ μ†Œλ©Έ
    클래슀 λ³€μˆ˜(class variables) - λ©”μ†Œλ“œ λ°–, 클래슀 μ•ˆ
    - static μžˆμ–΄μ•Ό 함
    - ν΄λž˜μŠ€κ°€ 처음 호좜될 λ•Œ 생λͺ…이 μ‹œμž‘
    - μžλ°” ν”„λ‘œκ·Έλž¨μ΄ 끝날 λ•Œ μ†Œλ©Έ

     

     

    μ„ μ–Έ μœ„μΉ˜λ₯Ό κ°„λ‹¨νžˆ μ˜ˆμ‹œλ‘œ λ³΄μ—¬λ“œλ¦¬λ©΄ μ΄λ ‡μŠ΅λ‹ˆλ‹€. 

    public class VariableTrpesKor {
      
      int instanceVariable;//μΈμŠ€ν„΄μŠ€λ³€μˆ˜
      static int classVariable;//ν΄λž˜μŠ€λ³€μˆ˜
      
      public void method(int parameter) { //λ§€κ°œλ³€μˆ˜
        int local Variable; //μ§€μ—­λ³€μˆ˜
      }
      
    }

     

     

    결둠적으둜,

    '각 λ³€μˆ˜μ˜ 생λͺ…μ£ΌκΈ°κ°€ λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— 이름을 이와 같이 λ‹€λ₯΄κ²Œ λΆ€λ₯΄λŠ” 것이닀' 라고 μ΄ν•΄ν•˜λ©΄ μ’‹κ² μŠ΅λ‹ˆλ‹€.

    λ˜ν•œ 각 λ³€μˆ˜μ˜ μš©λ„κ°€ λ‹€λ₯Έ μ΄μœ λ„ μžˆμ„ 것 μž…λ‹ˆλ‹€.

     

     

     

    νŠΉλ³„νžˆ, κ°€μž₯ 많이 μ“°λŠ” μ§€μ—­λ³€μˆ˜μ—μ„œ λ‹€μŒκ³Ό 같이 μ£Όμ˜ν•΄μ•Όν•  사항이 μžˆμŠ΅λ‹ˆλ‹€.

    public void anotherMethod() {
    	
        if(true) {
        	int localVariable;
        }
        
        if(true) {
        	int localVariable;
        }
    
    }

     

    첫번째 ifλ¬Έ μ•ˆμ— μžˆλŠ” localVariableκ³Ό λ‘λ²ˆμ§Έ ifλ¬Έ μ•ˆμ— μžˆλŠ” localVarible은 μ„œλ‘œ λ‹€λ₯Έ λ³€μˆ˜ μž…λ‹ˆλ‹€. 이름이 κ°™μ§€λ§Œ, ν‘œμ—μ„œ 보듯이 μ€‘κ΄„ν˜Έκ°€ λλ‚¨μœΌλ‘œμ¨ μžμ‹ μ˜ 생λͺ…μ£ΌκΈ°κ°€ 끝났기 λ•Œλ¬Έμž…λ‹ˆλ‹€. 즉, μ„œλ‘œ λ‹€λ₯Έ μ€‘κ΄„ν˜Έμ•ˆμ— μžˆμœΌλ―€λ‘œ μ„œλ‘œ 상관 μ—†λŠ” λ³€μˆ˜μž…λ‹ˆλ‹€.

     

     

    κ·Έλ ‡λ‹€λ©΄, 밑에 μ˜ˆμ‹œλŠ” μ–΄λ–¨κΉŒμš”? 

     

    public void anotherMethod() {
    	
        if(true) {
        
        	int localVariable; //1번
            
            if(true) {
            	int localVariable; //2번
            }
         }
    
    }

     

     

    정닡은 "μ΄λ ‡κ²Œ μ‚¬μš©ν•˜λ©΄ μ ˆλŒ€ μ•ˆλœλ‹€." μž…λ‹ˆλ‹€.

     

    1번의 localVariable의 생λͺ…μ£ΌκΈ°λŠ” 아직 μ€‘κ΄„ν˜Έκ°€ λ‹«νžˆμ§€ μ•Šμ•„, μ§€μ†λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 그런데 κ·Έ μ•ˆμ—μ„œ λ‹€μ‹œ localVariable을 μ„ μ–Έν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή μ†ŒμŠ€λ₯Ό μ»΄νŒŒμΌν•˜λ©΄ "localVariable is already defined in anotherMethod()" λΌλŠ” μ—λŸ¬ 메세지가 뜨며 컴파일 μ—λŸ¬κ°€ λ°œμƒν•˜κ²Œ λ©λ‹ˆλ‹€. 

     

    λ”°λΌμ„œ, ν•˜λ‚˜μ˜ λ©”μ†Œλ“œμ—μ„œλŠ” ν•˜λ‚˜μ˜ μ΄λ¦„λ§Œ μ‚¬μš©ν•˜λ„λ‘ ꢌμž₯ν•©λ‹ˆλ‹€.

     

    λ§ˆμ§€λ§‰μœΌλ‘œ λ³€μˆ˜μ˜ 이름 μ •μ˜ κ·œμΉ™μ„ μ •λ¦¬ν•˜κ³ , 이번 글은 λ§ˆμΉ˜κ² μŠ΅λ‹ˆλ‹€.

     

     

    λ³€μˆ˜ 이름 μ •μ˜ κ·œμΉ™


    - 길이의 μ œν•œμ€ μ—†λ‹€.
    - 첫 λ¬ΈμžλŠ” μœ λ‹ˆμ½”λ“œ 문자, μ•ŒνŒŒλ²³, $(λ‹¬λŸ¬ν‘œμ‹œ, dollar sign), _(μ–Έλ”μŠ€μ½”μ–΄, underscore)만 올 수 μžˆλ”°. 그런데 보톡 λ³€μˆ˜ 이름은 일반적으둜 $와 _둜 μ‹œμž‘ν•˜μ§€ μ•ŠλŠ”λ‹€.
    - λ‘λ²ˆμ§Έ λ¬ΈμžλΆ€ν„°λŠ” μœ λ‹ˆμ½”λ“œ 문자, μ•ŒνŒŒλ²³, 숫자, $, _쀑 μ•„λ¬΄κ²ƒμ΄λ‚˜ μ‚¬μš©ν•  수 μžˆλ”°.
    - 보톡은 λ©”μ†Œλ“œ μ΄λ¦„μ²˜λŸΌ μ§€μ •ν•΄μ„œ μ‚¬μš©ν•œλ‹€. 첫 λ¬ΈμžλŠ” μ†Œλ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ” 단어이고, 두 번째 λ‹¨μ–΄μ˜ 첫 문자만 λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λ©΄ λœλ‹€.
    - μƒμˆ˜(constant value)의 κ²½μš°μ—λŠ” λͺ¨λ‘ λŒ€λ¬Έμžλ‘œ μ§€μ •ν•˜λ©°, 단어와 단어 μ‚¬μ΄μ—λŠ” _둜 ꡬ뢄을 ν•œλ‹€. μ—¬κΈ°μ„œ μƒμˆ˜λΌλŠ” 것은 μ ˆλŒ€ λ³€ν•˜μ§€ μ•ŠλŠ” 값을 이야기 ν•œλ‹€. λ”°λΌμ„œ, 계속 값이 λ³€ν•˜λŠ” 일반적인 λ³€μˆ˜λŠ” 이 _λ₯Ό 뢙이지 μ•ŠκΈ° λ°”λž€λ‹€.

     

     

     

    Quiz


    일반적인 λͺ…λͺ…κ·œμΉ™μ„ μ œλŒ€λ‘œ λ”°λΌμ„œ μ„ μ–Έλœ λ³€μˆ˜λ“€μ€ λͺ‡λ²ˆμΌκΉŒμš”?

     

    1. godOfJava
    2. #godOfJava
    3. _god_Of_Java
    4. god_of_java
    5. BASIC_JAVA
    6. godOfJava1
    7. godOfJava2
    8. 8thBook

    λ‹΅ : 1, 5, 6, 7

     

     

     

     

    λ‹€μŒκΈ€μ—μ„œλŠ” μžλ°”μ˜ νƒ€μž…(μžλ£Œν˜•)에 λŒ€ν•΄ μ •λ¦¬ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

    κ°μ‚¬ν•©λ‹ˆλ‹€ :)

    λŒ“κΈ€

Designed by Tistory.