JUST WRITE

접근 제어자 본문

Programing/Java

접근 제어자

천재보단범재 2021. 8. 26. 23:28
이 글은 책 자바의 정석의 7장을 정리하여 작성한 글입니다.

 

접근제어자

접근 제어자

접근 제어자(Access Modifier)외부에서 접근하지 못하도록 제한하는 역할이다.

접근 제어자는 클래스, 멤버변수, 메서드, 생성자에 사용할 수 있다.

접근 제어자는 생략 가능하며, 생략 시 default 상태이다.

private 같은 클래스 에서만 접근이 가능
default 같은 패키지 내에서만 접근이 가능
protected 같은 패캐지 내 OR 하위 클래스(다른 패키지에 속해도) 에서 접근이 가능
public 접근 제한이 없음

접근 제어자를 이용한 캡슐화(Encapsulation)

접근 제어자를 활용하여 외부로부터 클래스 내 데이터를 보호한다.

클래스 내에서만 사용하는 속성, 작업을 클래스 내에 감추기 위해 접근 제어자를 사용한다.

private로 지정하여 외부에 노출시키지 않는다.

제어자의 조합

대상   사용 가능한 접근 제어자
클래스   public, (default), final, abstract
메서드   모든 접근 제어자, final, abstract, static
멤버변수   모든 접근 제어자, final, static
지역변수   final
  1. 메서드에 staticabstract를 함께 사용할 수 없다.
    • static은 구현이 된 메소드에서만 사용 가능.
  2. 클래스에 abstractfinal를 동시에 사용할 수 없다.
    • abstract는 상속을 해야 한다는 의미, final은 확장할 수 없다는 의미 -> 상충됨.
  3. abstract 메서드의 접근 제어자가 private일 수 없다.
    • abstract 메서드는 하위클래스에서 구현이 되야 하는데 private면 하위클래스에서 접근할 수 없다.
  4. 메서드에 privatefinal를 같이 사용할 필요 없다.
    • private 메서드는 어차피 오버라이딩이 될 수 없기 때문에.
728x90
반응형

'Programing > Java' 카테고리의 다른 글

Immutable Objects  (0) 2021.09.25
Wrapper Class  (0) 2021.09.24
Static  (0) 2021.09.24
OOP  (0) 2021.08.25
Java 특징  (0) 2021.08.22
Comments