반응형

안녕하세요. 여행하는 개발자입니다.
이번 포스팅에서는 Java에서의 접근 제어자(private, protected, public)의 차이점과 사용 예에 대해 정리해보겠습니다.

접근 제어자란?

접근 제어자는 클래스, 필드, 메소드 등에 외부에서 접근할 수 있는 범위를 지정하는 키워드입니다.

Java에서 사용하는 대표적인 접근 제어자는 private, protected, public이 있습니다.

 

접근 제어자 비교표

제어자 동일 클래스 동일 패키지 상속 클래스 다른 클래스
private O X X X
default (명시 안함) O O X X
protected O O O X
public O O O O

 

✅ 1) private

private는 가장 제한적인 접근 권한으로, 해당 클래스 내부에서만 접근이 가능합니다.

public class User {
    private String name;

    private void printName() {
        System.out.println(name);
    }
}

 

✅ 2) protected

protected동일 패키지 + 상속 클래스에서 접근 가능합니다.

public class Animal {
    protected String type = "동물";
}

public class Dog extends Animal {
    public void printType() {
        System.out.println(type); // 접근 가능
    }
}

 

✅ 3) public

public어디서든 접근 가능한 가장 개방적인 접근 제어자입니다.

public class HelloWorld {
    public void greet() {
        System.out.println("Hello!");
    }
}

 

결론

  • private: 클래스 내부 전용 (캡슐화용)
  • protected: 상속과 패키지 내부에서 공유할 때 사용
  • public: 모든 클래스에서 접근 가능하게 할 때 사용

접근 제어자는 클래스 설계의 안정성과 보안성을 높이는 핵심 도구입니다.
기본값이 아닌 의도적으로 제어자를 설정하는 습관을 들이세요!

반응형

+ Recent posts