언어/Java

[Java] 접근 제어자

샥쿠 2023. 8. 10. 14:01

접근 제어자

접근 제어자(access modifier)는 클래스의 멤버(변수, 메소드)들의 접근 권한을 지정한다.

Java에서는 4가지 접근 제어자를 제공한다.

  • private
  • public
  • protected
  • default

private🔥

  • 클래스 내부에서만 접근할 수 있는 변수, 메소드
  • 사용자가 내부 로직에 접근하는 것을 막아 개발자가 의도하지 않은 오작동을 방지한다.

public🔥

  • 클래스 외부에서 접근 가능한 변수, 메소드
  • 사용자에게 객체를 조작하기 위한 의도로 작성된 수단만을 제공하여 결과적으로 객체의 사용에 집중할 수 있도록 돕는다.

protected

  • 상속 관계에 있을 때 서로 다른 패키지에 있는 클래스의 접근을 허용
  • 같은 패키지 → 접근 O
  • 다른 패키지, 상속 관계 X → 접근 X
  • 다른 패키지, 상속 관계 O → 접근 O

default

  • 같은 패키지에 속하는 클래스에서만 접근 가능
  • 같은 패키지 → 접근 O
  • 다른 패키지 → 접근 X

 

클래스의 접근 제어자

클래스 멤버에 대한 접근 제어자 뿐만 아니라 클래스에도 접근 제어자가 있다.

클래스의 접근 제어자는 2가지가 있다.

  • public
  • default

클래스의 접근 제어자는 패키지와 관련되어 있다.

public

  • 접근 제어자가 public인 클래스는 다른 패키지의 클래스에서 사용 가능하다.
  • 제약 사항
    • public 클래스가 포함된 소스코드는 public 클래스의 클래스명소스코드 파일명이 같아야한다.
    • 즉, 하나의 소스코드에는 하나의 public 클래스만 존재할 수 있다.

default

  • 클래스에 접근 제어자를 붙이지 않으면 default가 된다. default인 클래스는 같은 패키지에서만 사용 가능하다.

 

참고자료

https://opentutorials.org/course/1223/6061

http://www.tcpschool.com/java/java_modifier_accessModifier

'언어 > Java' 카테고리의 다른 글

[Java] 상속  (0) 2023.08.22
[Java] final  (0) 2023.08.10
[Java] abstract  (0) 2023.08.10
[Java] 클래스와 인스턴스  (0) 2023.08.10