카테고리 없음

객체지향 접근 제어자(access modifier)

연93 2022. 9. 26. 12:00
더보기

Prvate :      같은 클래스 내에서만 접근이 가능하다.

(default) :   같은 패키지 내에서만 접근이 가능하다.

protected : 같은 패키지 내에서, 그리고 다른 패키지의 자손클래스에서 접근이 가능하다.

public :       접근 제한이 전혀 없다.

https://www.youtube.com/watch?v=Qm08p4Vk2sw&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=78

package pkg1;

class Myparent {
	private   int prv; // 같은 클래스
	          int dft; // 같은 패키지
	protected int prt; // 같은 패키지 + 자손(다른 패키지)
	public    int pub; // 접근제한 없음.
	
	public void printMembers() { // 같은 클래스 내부에선 모두 출력가능
		System.out.println(prv);
		System.out.println(dft);
		System.out.println(prt);
		System.out.println(pub);
	}
}

//다른 클래스 호출
public class MyParentTest {
	public static void main(String[] args) {
		Myparent p = Myparent();
		System.out.println(p.prv); // 에러 
		System.out.println(p.dft); // ok 
		System.out.println(p.prt); // ok 
		System.out.println(p.pub); // ok
	}
}