Spring Boot/JAVA
[JAVA] 접근 지정자 ( public / private / protected )
구석탱
2022. 1. 5. 09:24
접근 지정자란?
접근 지시자, 접근 제한자, 액세스 한정자라고도 불리며, 클래스(Class), 메서드(Method), 변수(Variable)에 대한 접근성을 지정하는 키워드로써 public / private / protected 중 하나를 선택하여 사용할 수 있다.
만약 위 세 가지중 하나를 지정하여 사용하지 않을 경우 default를 기본으로 설정된다.
[접근 지정자의 사용 범위]
접근지정자 | 동일 클래스 | 동일 패키지 | 상속 | 다른 패키지 |
default | O | O | X | X |
public | O | O | O | O |
private | O | X | X | X |
protected | O | O | O | X |
1. public
동일 클래스, 동일 패키지, 상속, 다른 패키지 등 어디에서나 접근 가능한 접근 지정자로 아래와 같이 사용할 수 있다.
// Class
public class ClassName{ }
// Method
public void MethodName(){ }
// Variable
public int variableNum = 0;
// Static
public static int staticNum = 0;
// Final
public final int FINAL_NUM = 0;
2. private
동일 클래스에서만 접근 가능한 접근 지정자로 아래와 같이 사용할 수 있다.
// Class
private class ClassName{ }
// Method
private void MethodName(){ }
// Variable
private int variableNum = 0;
// Static
private static int staticNum = 0;
// Final
private final int FINAL_NUM = 0;
3. protected
동일 클래스, 동일 패키지, 상속에서만 접근 가능한 접근 지정자로 아래와 같이 사용할 수 있다.
// Class
protected class ClassName{ }
// Method
protected void MethodName(){ }
// Variable
protected int variableNum = 0;
// Static
protected static int staticNum = 0;
// Final
protected final int FINAL_NUM = 0;
4. default
동일 클래스, 동일 패키지에서만 접근 가능한 접근 지정자로 아래와 같이 사용할 수 있다.
// Class
class ClassName{ }
// Method
void MethodName(){ }
// Variable
int variableNum = 0;
// Static
static int staticNum = 0;
// Final
final int FINAL_NUM = 0;