접근 제한자란 말 그대로 접근 제한하기 위해 사용한다.
접근 제한자는 public , protected , default , private 4종류가 있다.
public = 외부 클래스가 자유롭게 접근이 가능하다.
protected : 같은 패키지나 자식 클래스(상속)에서 접근이 가능하다.
default = 같은 패키지에 소속된 클래스에서만 접근이 가능하다. 별도로 설정하지 않으면 default이다.
private = 선언한 클래스 내부에서만 접근이 가능하다.
정리하자면
public > protected > default > private 순으로 열려있다
기본적으로 작성하지 않으면 default이다.
1. 클래스의 접근 제한자
클래스의 접근 제한자는 public , default로 나뉜다.
public 접근 제한자는 어떤 패키지이던 사용할 수 있다.
default 접근 제한자는 다른 패키지일때 사용할 수 없다.
2. 생성자의 접근 제한자
생성자는 모든 접근 제한자를 가질 수 있다.
public 접근 제한자는 어떤 패키지이던 사용할 수 있다.
protected는 다른 패키지에서는 생성자 호출을 제한하고 , 다른 패키지 클래스가 해당 클래스의 자식 클래스(상속)이면
생성자 호출이 가능하다.
default는 접근 제한자 표기를 생략한 형태로 다른 패키지에서 생성자 호출을 제한한다.
private는 해당 클래스 내부에서만 생성자가 호출되게 하므로 , private로 선언된 생성자가 외부로 이동하려면
해당 클래스 내부에서 생성자를 만들어 객체를 만들고 메소드를 이용해 객체를 받는 방법을 이용해야 한다.
3.멤버(필드 , 메소드)의 접근 제한자
생성자와 동일하게 사용할 수 있다
4가지 접근 제한자를 가지고 클래스 , 인터페이스 , 멤버를 선언할 때 해당 필드의 메소드에 대한 접근을
어디까지 허용하거나 제한할 것인지 결정하고 그에 맞는 접근 제한자를 사용해야 할 것이다.
'Java > Java icia 11일차' 카테고리의 다른 글
static , final , final static의 차이의 정리 (0) | 2023.03.08 |
---|---|
Class를 이용하여 유저시스템 만들기 (0) | 2023.03.08 |
Class를 이용해 게시판 만들어보기 (0) | 2023.03.08 |
DTO 의 뜻 , 사용하는 이유 (0) | 2023.03.08 |