π λ€μ΄κ°λ©°...
Java μ½λ©μ νλ€λ³΄λ©΄ public, private, protected μ κ°μ μ κ·Ό μ νμλ€μ λ§μ£ΌμΉκ² λ©λλ€. κ·Έλ°λ° μ΄λ¬ν μ κ·Όμ νμμ μ μλ κΈ°λ₯μ λͺ νν μμ§ λͺ»νκ³ λ¨μν 'λ€λ₯Έ λ©μλλ€μ΄ privateμΌλ‘ λμ΄ μμ΄μ.. public μΌλ‘ λμ΄ μμ΄μ.. λλ κ·Έλλ‘ public μΌλ‘ μ μΈ ν΄μΌμ§' λΌλ κ°λ²Όμ΄ λ§μμΌλ‘ μ¬μ©ν λκ° μλ κ² κ°μ λͺ νν μ μμ κ·Έ κΈ°λ₯μ μμλ³΄κ³ μ ν©λλ€.
π μ κ·Ό μ νμλ?
μ κ·Ό μ νμλ λ§ κ·Έλλ‘ ν΄λμ€ λ° μΈν°νμ΄μ€ κ·Έλ¦¬κ³ μ΄λ€μ΄ κ°κ³ μλ λ©€λ²λ€μ λν μ κ·Όμ μ ννλ κ²μ λ§ν©λλ€.
- ν΄λμ€μ μΈν°νμ΄μ€λ₯Ό λ€λ₯Έ ν¨ν€μ§μμ μ¬μ© λͺ»νλλ‘ λ§κΈ°
- κ°μ²΄ μμ±μ λ§κΈ° μν΄ μμ±μλ₯Ό νΈμΆνμ§ λͺ»νκ² νκΈ°
- νλλ λ©μλλ₯Ό μ¬μ©νμ§ λͺ»νλλ‘ λ§κΈ°
μ κ°μ κ²½μ°μ μ¬μ©λ©λλ€.
μ κ·Ό μ νμμ μ’ λ₯μλ public, protected, default, private μ΄ μμΌλ©° κΈ°λ₯μ λ€μκ³Ό κ°μ΅λλ€.
- public μ κ·Ό μ νμ : μΈλΆ ν΄λμ€κ° μμ λ‘κ² μ¬μ©ν μ μμ΅λλ€.
- protected μ κ·Ό μ νμ : κ°μ ν¨ν€μ§ λλ μμ ν΄λμ€μμ μ¬μ©ν μ μμ΅λλ€.
- default μ κ·Ό μ νμ : κ°μ ν¨ν€μ§μ μμλ ν΄λμ€μμλ§ μ¬μ©ν μ μμ΅λλ€.
- private μ κ·Ό μ νμ : μΈλΆμμλ μ κ·Όμ΄ λΆκ°ν©λλ€. μ€λ‘μ§ ν΄λμ€ λ΄λΆμμλ§ μμ±μλ₯Ό νΈμΆνκ³ κ°μ²΄λ₯Ό μμ±ν μ μμ΅λλ€.
μ κ·Ό μ νμ | κ°μ ν΄λμ€ | κ°μ ν¨ν€μ§ | μμ ν΄λμ€ | μ 체 |
public | O | O | O | O |
protected | O | O | O | |
default | O | O | ||
private | O |
μ΄λ₯Ό νλ‘ λνλ΄λ©΄ μμ κ°μ΅λλ€.
μ¬κΈ°μ μ£Όμν΄μΌ ν μ μ ν΄λμ€μ λν μ κ·Ό μ νμ κ²½μ° λ€μκ³Ό κ°μ΄ public, default λ κ°μ μ κ·Ό μ νμ κ°μ§κ² λ©λλ€.
//default μ κ·Ό μ ν
class ν΄λμ€ {...}
//public μ κ·Ό μ ν
public class ν΄λμ€ {...}
μ΄ μΈμ μμ±μ, νλμ λ©μλμ μ κ·Ό μ νμ κ²½μ° public, protected, default, private λ€ κ°μ§μ μ κ·Ό μ νμ λͺ¨λ κ°κ² λ©λλ€.
// μμ±μμ μ κ·Ό μ ν
public class ExampleClass{
//public μ κ·Ό μ ν
public ExampleClass(...){...}
//protected μ κ·Ό μ ν
protected ExampleClass(...){...}
//default μ κ·Ό μ ν
ExampleClass(...){...}
//private μ κ·Ό μ ν
private ExampleClass(...){...}
}
//νλμ λ©μλμ μ κ·Ό μ ν
//νλ μ μΈ
[public | protected | private] [static] νμ
νλ;
//λ©μλ μ μΈ
[public | protected | private][static] λ¦¬ν΄ νμ
λ©μλ(...){...}
μ°Έκ³ : μ± - νΌμ 곡λΆνλ μλ°
'Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Java μμμ μμΈμ²λ¦¬ (0) | 2023.06.03 |
---|---|
[Mockito & JUnit] @Mock κ³Ό @InjectMock (0) | 2023.03.28 |
μλ°μ μλ£κ΅¬μ‘° - 컬λ μ νλ μμν¬(Collection Framework) (0) | 2023.02.05 |
[Java] extends μ implements μ μ°¨μ΄ (0) | 2023.01.10 |
[Java] AtomicInteger μ¬μ©νκΈ° (0) | 2023.01.07 |