3초기억력

접근제어자) private 본문

자바_기초

접근제어자) private

잠수콩 2019. 6. 7. 14:32
//접근제어자 : private
// 	- 같은 클래스에서만 접근 가능
//	- 클래스 내부에서만 가능, 외부 클래스 접근 안됨.
//	- 상속도 안됨

// 메서드, 변수앞에 private 사용가능

class A{
	
	private int a;		//외부에선 접근안됨
	int b;
	
	void show() {
		System.out.println("a="+a+", b="+b);
	}
	
	int getA() {			//외부에서 가져갈 메서드
		return a;
	}
	void setA(int a) {		//외부에서 수정할 메서드
		this.a = a;
	}

	private int c;
	private int d;
	private int e;
	private int f;
	private int g;
	// 우클릭 > source > Getter and Setter 로 여러개를 동시에 만들수있다.
	
	A(){
		System.out.println("Private");
	}
	
}

class B extends A{
	
}

public class PrivateEx {

	public static void main(String[] args) {

		A a1 = new A();
//		a1.a = 100;			// 오류
		a1.b = 200;			// 정상		
		a1.show();			// 정상

		B b1 = new B();
//		b1.a = 200;			//오류
		b1.b = 100;			//정상
		b1.show();  		//정상
		

		// 외부 클래스가 a 10 을 더 한다.
		// 외부로 빼려면 메서드로 해결
	
		System.out.println(a1.getA());		//외부에서 조회할 메서드 이용
		
		a1.setA(10);						//외부에서 수정할 메서드 이용
		System.out.println(a1.getA());

		//상속 B 클래스에서
//		b1.a = 200;			//오류
		b1.b = 100;			//정상
		b1.show();  		//정상
		
		b1.setA(10000);						//상속에서도 외부접근 메서드 이용 가능
		System.out.println(b1.getA());
	}

}

'자바_기초' 카테고리의 다른 글

접근제어자) default  (0) 2019.06.07
접근제어자) protected  (0) 2019.06.07
접근제어자) public  (0) 2019.06.07
제어자)static  (0) 2019.06.07
GUI(awt) - Gridlayout  (0) 2019.05.27
Comments