private 제어자는 자바에서 가장 강력한 접근 제어자 중 하나로, 해당 멤버(변수, 메서드 등)를 선언한 클래스 내부에서만 접근 가능하도록 합니다. 다른 클래스나 외부에서는 접근할 수 없습니다.
1. private 제어자 사용 예제
1.1. 변수에 private 제어자 사용
// Example.java
public class Example {
private int privateVar;
public Example(int initialValue) {
this.privateVar = initialValue;
}
public void printPrivateVar() {
System.out.println("Private Variable: " + privateVar);
}
}
private 제어자를 가진 변수는 해당 클래스 내부에서만 접근 가능합니다.
1.2. 메서드에 private 제어자 사용
// Example.java
public class Example {
private int privateVar;
public Example(int initialValue) {
this.privateVar = initialValue;
}
private void privateMethod() {
System.out.println("This is a private method.");
}
public void accessPrivateMethod() {
privateMethod();
}
}
private 제어자를 가진 메서드도 해당 클래스 내부에서만 호출 가능합니다.
1.3. 외부에서의 활용
// OutsideClass.java
public class OutsideClass {
public static void main(String[] args) {
Example example = new Example(42);
// 아래 두 줄은 에러를 발생시킴
System.out.println(example.privateVar);
example.privateMethod();
}
}
위의 예제에서 OutsideClass 클래스는 Example 클래스의 private 멤버에 직접 접근할 수 없습니다.
2. private 제어자의 특징
- private로 선언된 멤버는 해당 클래스 내부에서만 접근 가능합니다.
- 외부에서는 해당 클래스의 public 메서드 등을 통해 간접적으로 private 멤버에 접근할 수 있습니다.
- 캡슐화(Encapsulation)를 강화하고 객체의 상태를 보호하기 위해 사용됩니다.
3. 주의사항
- private 제어자를 사용하면 해당 멤버에 직접 접근할 수 없기 때문에 필요한 경우에만 사용하는 것이 좋습니다.
- 필요한 경우에는 public 메서드 등을 통해 제한된 접근을 허용하도록 설계합니다.
- private 제어자를 사용하여 적절한 캡슐화를 구현하면 객체의 상태를 더욱 안전하게 유지할 수 있습니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 static 제어자 (0) | 2023.11.12 |
---|---|
자바 final 제어자 (0) | 2023.11.12 |
자바 default 제어자 (0) | 2023.11.11 |
자바 protected 제어자 (0) | 2023.11.11 |
자바 public 제어자 (0) | 2023.11.11 |