πŸ’‘Language/JAVA

[JAVA] μ ‘κ·Ό μ œμ–΄μž (private, default, protected, public)

soonybutter 2024. 8. 10. 20:14
728x90

 

 

 

μ ‘κ·Όμ œμ–΄μž (access modifier)

 

μžλ°”μ—μ„œ ν΄λž˜μŠ€μ™€ 클래슀의 멀버듀을 μ‚¬μš©ν•  λ•Œ μ ‘κ·Όν•  수 μžˆλŠ” λ²”μœ„λ₯Ό μ§€μ •ν•˜λŠ” 것.

 

  • public, private, protected, default ν‚€μ›Œλ“œκ°€ μžˆλ‹€.

 

κ³΅κ°œλ²”μœ„λŠ” public > protected > default > private μˆœμ΄λ‹€. 

 

즉 private의 κ³΅κ°œλ²”μœ„κ°€ κ°€μž₯ 쒁으며, public이 κ°€μž₯ λ„“λ‹€.

 

 

 

μ ‘κ·Όμ œμ–΄μžλŠ”  ν΄λž˜μŠ€μ™€  ν΄λž˜μŠ€λ©€λ²„μ—λ”°λΌ μ‚¬μš©ν•  수 μžˆλŠ” ν‚€μ›Œλ“œ μ’…λ₯˜μ— 차이가 μžˆλ‹€! 

 

 

1. 클래슀의 μ ‘κ·Όμ œμ–΄μž

 

클래슀의 μ ‘κ·Όμ œμ–΄μžλŠ”

1. public

2. default(κΈ°λ³Έκ°’, μƒλž΅κ°€λŠ₯)   μ΄ μžˆλ‹€.

 

 

1. public 클래슀 :

- λͺ¨λ“  ν΄λž˜μŠ€μ—μ„œ 이 ν΄λž˜μŠ€μ— μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€.

λ‹€λ₯Έ νŒ¨ν‚€μ§€μ—μ„œ μ ‘κ·Όκ°€λŠ₯ν•˜λ‹€.

public class Machine{
}

 

2. default 클래슀 : 

- 클래슀 μ•žμ— λͺ…μ‹œν•˜μ§€ μ•ŠμœΌλ©΄ default λ₯Ό λ‚˜νƒ€λ‚Έλ‹€.

- 같은 νŒ¨ν‚€μ§€ μ•ˆμ˜ ν΄λž˜μŠ€μ—μ„œλ§Œ μ ‘κ·Όν•  수 μžˆλ‹€.

class Calculate{
}

 

 

 

2. 클래슀 λ©€λ²„μ˜ μ ‘κ·Όμ œμ–΄μž


ν΄λž˜μŠ€λ‚΄λΆ€μ˜ 클래슀 멀버가 μ‚¬μš©ν•  수 μžˆλŠ” μ ‘κ·Όμ œμ–΄μžλŠ” 

1. private

2. default

3. protected

4. public      이 μžˆλ‹€.

 

 

 

1. private 멀버 :

- λͺ¨λ“  μ™ΈλΆ€ ν˜ΈμΆœμ„ λ§‰λŠ”λ‹€.

- 같은 ν΄λž˜μŠ€μ•ˆμ— μžˆλŠ” λ©€λ²„λ“€λ§Œ 접근이 κ°€λŠ₯ν•˜λ‹€.

 

2. default 멀버 :

- 같은 νŒ¨ν‚€μ§€μ•ˆμ˜ ν΄λž˜μŠ€λ“€μ—μ„œλ§Œ 접근이 κ°€λŠ₯ν•˜λ‹€.

 

3. protected 멀버 :

- 같은 νŒ¨ν‚€μ§€ μ•ˆμ˜ ν΄λž˜μŠ€λ“€ + λ‹€λ₯Έ νŒ¨ν‚€μ§€μ˜ μžμ‹ ν΄λž˜μŠ€μ—μ„œ 접근이 κ°€λŠ₯ν•˜λ‹€.

 

4. public 멀버 : 

- νŒ¨ν‚€μ§€ 상관없이 , λͺ¨λ“  ν΄λž˜μŠ€μ—μ„œ 접근이 κ°€λŠ₯ν•˜λ‹€.

 

 

ex)

puvblic Class sumCounter {
    private int cnt = 0;
    private int max;
    
    public sumCounter(int max){
        this.max= max;
    }
    
    public void plusCount() {
        if(cnt >= max){
            System.out.println("μ΅œλŒ€κ°’μ„ μ΄ˆκ³Όν–ˆμŠ΅λ‹ˆλ‹€");
            
            return;
        }
        cnt++; 
    }
    
    public int getCount(){
      return cnt;
    }
}

 

 

 

 

 

πŸ’»Tip

- default, private λ©€λ²„λŠ” 같은 νŒ¨ν‚€μ§€μ•ˆμ˜ 멀버, ν΄λž˜μŠ€μ—μ„œλ§Œ 접근이 κ°€λŠ₯ν•˜λ‹€.

- μ ‘κ·Όμ œμ–΄μžλ₯Ό 톡해 'μΊ‘μŠν™”'κ°€ κ°€λŠ₯ν•΄μ§„λ‹€.

- μΊ‘μŠν™” : 데이터λ₯Ό λͺ¨λ‘ 숨기고, κΈ°λŠ₯(λ©”μ„œλ“œ)λŠ” κΌ­ ν•„μš”ν•œ κΈ°λŠ₯만 λ…ΈμΆœν•˜λŠ”κ²ƒ.

 

 

 

 

 

 

 

 

 

ν‹€λ¦° λΆ€λΆ„μ΄λ‚˜ μ΄μƒν•œ λΆ€λΆ„이 μžˆμœΌλ©΄ λŒ“κΈ€λ‘œ μ§€μ ν•΄μ£Όμ„Έμš”! 
κ°μ‚¬ν•©λ‹ˆλ‹€ :)

728x90