☕JAVA/🔎 공부 [JAVA]

[JAVA] 접근 제어자

디카페인라떼 2022. 8. 10. 17:01

클래스 {필드,메소드}

- 캡슐화 : 관련된 내용을 모아서 가지고 있는 것

 

<접근제어자>

: 클래스 내에서 멤버의 접근을 제어하는 역할

 

한정자 클래스 내부 동일 패키지 하위 클래스 그외의 영역
public
protect
default
private
  • public : 어떤 클래스든 접근가능, 모든 접근을 허용, 가장 넓은 의미,전체공개
  • protected : 같은 패키지인 경우 접근 허용, 다른 패키지라도 상속을 받은 경우 접근허용
  • private : 자기 자신만 접근가능
  • default 접근지정자 : 아무것도 쓰지 않은 경우, 자기 자신과 같은 패키지 내에서 접근 허용
  • public > protected > default > private

❗필드 뿐아니라 메서드나 클래스 앞에도 가능!

public class AccessObj {
	
	public int p = 3;
	protected int p2 = 4;
	int k = 2;
	private int i = 1;			
}

 

public class AccessObjExam {
	public static void main(String[] args) {
		AccessObj obj = new AccessObj();
		System.out.println(obj.p);
		System.out.println(obj.p2);//같은 패키지 내 가능//다른 패키지 불가능 but 상속관계라면 가능
		System.out.println(obj.k);//같은 패키지 내 가능//다른패키지 불가능
		System.out.println(obj.i);//private은 접근 불가능
	}
}

 

 

'☕JAVA > 🔎 공부 [JAVA]' 카테고리의 다른 글

[JAVA] 메소드 - 오버라이딩  (0) 2022.08.10
[JAVA] 추상클래스  (0) 2022.08.10
[JAVA] 상속 / super / 부모생성자/ 클래스형변환  (0) 2022.08.10
[JAVA] 패키지  (0) 2022.08.10
[JAVA] 메소드 - 오버로딩  (0) 2022.08.10