JAVA

[JAVA] 접근제어자 (private, public, protected, default)

준몽쓰 2025. 2. 21. 22:07

■ private

- 나의 클래스 안으로 속성과 기능을 숨길 때 사용, 외부 클래스에서 해당 기능을 호출할 수 없다.

Speaker 클래스 안에서는 volume 접근 가능함. 

Main에선 접근할  수 없다. private은 개인적인 클래스 (내부에서만) 접근할 수 있고 외부에선 접근할 수 없다.

 

■ public

- 기능을 숨기지 않고 어디서든 호출할 수 있다.

- 모든 접근을 허용하기 때문에 필드, 메서드 모두 접근 가능

- public 클래스는 반드시 파일명과 이름이 같아야 한다.

 

■ default

- 같은 패키지 안에서 호출은 허용한다.

- 위에 코드처럼 void volumeUp() 이런 식으로 쓰면 기본으로 default가 생략된 것이다.

 

■ protected

- 상속 관계로 속성과 기능을 숨길 때 사용, 상속 관계가 아닌 곳에서 호출할 수 없다.