반응형
접근 제한자
클래스, 변수, 함수 등에 대한 접근 권한을 설정하는 데 사용
- public
- private
- protected
- private
public
- 접근 범위 : 어디서나 접근 가능(클래스 내부, 같은 패키지, 다른 패키지, 외부 클래스)
- 사용 상황 : 다클 클래스나 패키지에서 자주 접근해야 하는 클래스, 변수, 함수 등에 사용
private
- 접근 범위 : 같은 클래스 내에서만 접근 가능
- 사용 상황 : 외부에서 접근할 필요가 없는 변수가 함수를 감추기 위해 사용
protected
- 접근 범위 : 같은 패키지 또는 하위 클래스에서 접근 가능
- 사용 상황 : 상속 관계에서 하위 클래스가 접근할 필요가 있을 때 사용
default
- 접근 범위 : 같은 패키지에서만 접근 가능
- 사용 상황 : 같은 패키지 내부에서만 사용할 클래스나 함수일 때 사용
package example1;
public class Human {
public String publicString = "public String";
private String privateString = "private String";
protected String publicString = "protected String";
String publicString = "default String";
}
package example2;
public class Man extends Human {
public void access() {
System.out.println(publicString); // public String
System.out.println(protectedString); // protected String (상속 받았기 때문에 가능)
System.out.println(privateString); // 접근 불가
System.out.println(defaultString); // 에러 다른 패키지이기 때문에 접근 불가
}
}
package example1;
public class Woman extends Human {
public void access() {
System.out.println(publicString); // public String
System.out.println(protectedString); // protected String (상속 받았기 때문에 가능)
System.out.println(privateString); // 접근 불가
System.out.println(defaultString); // default String (같은 패키지이기 때문에 가능)
}
}
위 예제를 보고 상황에 맞게 접근제한자를 사용하면 된다.
반응형
'Java' 카테고리의 다른 글
| [JAVA] Set 사용법 (0) | 2025.01.26 |
|---|---|
| [JAVA] Map, HashMap, TreeMap, LinkedHashMap 사용법 (0) | 2025.01.25 |
| [JAVA] String 문자열 비교 (1) | 2025.01.23 |
| [JAVA] List 특징, 초기화, 함수 (1) | 2025.01.22 |
| [JAVA] String 배열 선언, 초기화, 함수 (1) | 2025.01.21 |