코딩하는 몽구리

접근제어자 본문

Java

접근제어자

코딩구리 2024. 3. 24. 20:38

자바는 public,private같은 접근 제어자(access modifier)를 제공한다. 접근 제어자를 사용하면 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있다.

private 접근 제어자는 모든 외부 호출을 막는다. 따라서 private이 붙은 경우 해당 클래스 내부에서만 호출할 수 있다.

package access;

public class Speaker {
    private int volume;

    Speaker(int volume){
        this.volume = volume;
    }
}

volume 필드는 private으로 설정되어 있기 때문에 외부에서 접근할 수 없다.

** 좋은 프로그램은 무한한 자유도가 아니라 적절한 제한이 있어야 한다.

접근 제어자 종류

  • private : 모든 외부 호출을 막는다
  • default(package-private) : 같은 패키지 안에서 호출은 허용한다.
  • protected : 같은 패키지안에서 호출은 허용한다. 패키지가 달라도 상속 관계의 호출은 허용한다.
  • public : 모든 외부 호출을 허용한다.

private이 가장 많이 차단하고, public이 가장 많이 허용한다.
private -> default -> protected - > public

package-private(default)

동일한 패키지 내의 다른 클래스에서만 접근이 가능하다.

접근 제어자의 핵심은 속성과 기능을 외부로부터 숨기는 것이다.

'Java' 카테고리의 다른 글

자바 메모리 구조와 static  (0) 2024.03.25
캡슐화  (0) 2024.03.24
제네릭과 컬렉션  (0) 2024.01.26
접근제어자  (0) 2024.01.01
[Java] 추상클래스  (0) 2024.01.01