BACK/JAVA

[JAVA] 실전 자바 - 접근 제어자

연듀 2024. 1. 30. 15:37

 

접근 제어자

 

private

 

해당 클래스 내부에서만 호출 가능

 

default(package-private)

같은 패키지 안에서 호출은 허용

 

protected

같은 패키지안에서 호출은 허용, 패키지가 달라도 상속 관계의 호출은 허용

 

public

모든 외부 호출을 허용

 

 

 

💡 private < default < protected < public

 

💡 생성자도 접근 제어자 관점에서 메서드와 같다. (접근 제어자 동일하게 적용)

 

 

접근 제어자 사용 - 클래스 레벨

  • 클래스 레벨의 접근 제어자는 public, default 만 사용 가능
    • private, protected는 사용 불가
  • public 클래스는 반드시 파일명과 이름이 같아야 한다.
    • 하나의 자바 파일에 public 클래스는 하나만 등장 가능
    • 하나의 자바 파일에 default 클래스는 무한정 만들 수 있음

 

캡슐화

데이터와 메서드를 하나로 묶어 외부에서의 접근을 제한하는 것

→ 클라이언트에게 필요한 기능만 노출

 

1. 데이터를 숨겨라

객체의 데이터는 객체가 제공하는 기능인 메서드를 통해서 접근해야 한다.

 

2. 기능을 숨겨라

사용자 입장에서 꼭 필요한 기능만 외부에 노출한다. 

 

💡 데이터는 모두 숨기고, 꼭 필요한 기능만 노출하는 것이 좋은 캡슐화다.

💡 데이터는 private, 밖에서 사용될 메서드는 public 

 

 

 

 

참고) 김영한 - 실전 자바

https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard