본문 바로가기
IT/java

자바(Java) 접근 제어자

by 뉴코딩맨 2023. 6. 8.
Java에서는 접근 제어자(access modifier)를 사용하여 클래스, 변수, 메서드 등의 접근 범위를 제한할 수 있습니다. 접근 제어자는 코드의 캡슐화(encapsulation)와 정보 은닉(information hiding)을 가능하게 하며, 코드의 안정성과 유지보수성을 향상시킵니다. Java의 접근 제어자에 대해 자세히 알아보고, 예시를 통해 설명하겠습니다.
 
 

접근 제어자의 종류

Java에서는 다음과 같은 접근 제어자를 제공합니다.
  • public: 어떤 클래스에서든 접근 가능합니다.
  • private: 동일 클래스 내에서만 접근 가능합니다.
  • protected: 동일 패키지 또는 서브클래스에서 접근 가능합니다.
  • (default): 동일 패키지 내에서만 접근 가능합니다.

 

 

예시를 통한 설명

다음은 예시를 통해 각 접근 제어자의 사용 방법과 특징을 설명합니다.
 
public class Example {
    public int publicVar;
    private int privateVar;
    protected int protectedVar;
    int defaultVar;

    public void publicMethod() {
    	// public 메서드의 내용
    }

    private void privateMethod() {
    	// private 메서드의 내용
    }

    protected void protectedMethod() {
    	// protected 메서드의 내용
    }

    void defaultMethod() {
    	// default 메서드의 내용
    }
}
 
위의 예시에서 Example 클래스의 멤버 변수와 메서드는 각각 다른 접근 제어자를 가지고 있습니다. 이제 각 멤버에 대해 접근 제어자의 특징을 살펴보겠습니다.
  • publicVar: 어떤 클래스에서든 접근 가능합니다.
  • privateVar: 동일 클래스 내에서만 접근 가능하므로, 외부에서 직접 접근할 수 없습니다.
  • protectedVar: 동일 패키지 또는 서브클래스에서 접근 가능합니다.
  • defaultVar: 동일 패키지 내에서만 접근 가능하며, 접근 제어자를 명시하지 않을 경우 기본적으로 적용됩니다.
메서드의 경우도 동일한 접근 제어자의 특징을 가집니다.
 
 

마무리

Java의 접근 제어자에 대해 알아보았습니다. 접근 제어자를 사용하면 코드의 캡슐화와 정보 은닉을 통해 안정성과 유지보수성을 높일 수 있습니다. 예시를 통해 각 접근 제어자의 사용 방법과 특징을 자세히 살펴보았습니다.

 

댓글