
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | package infohiding09; public class Info0901 { public static void main(String[] args) { int a1,a2,a3=0; CCC c1= new CCC(5); a1= c1.showNum(); System.out.println("초기 ccc의 num값:"+a1); /* ccc의 num에 private가 이후 에러. c1.num =7; a2= c1.showNum(); System.out.println("private하기전, ccc의 num값:"+a2); */ c1.setNum(9); a3= c1.showNum(); System.out.println("access메소드사용, 간접적으로 " + "private변수를 건드림, ccc의 num값:"+a3); } } class CCC { private int num ; // private 선언 CCC(int a) { num = a; } public int setNum(int a) { num = a; return num; } public int showNum() { return num; } } | cs |
private 가 변수앞에 붙으면, 선언된 클래스 내부에서만 접근이 가능하기 때문에
선언된 내부 클래스에서 변경을 하는 메소드를 만들어놓으면
다른 클래스에서 메소드에 접근해 간접적으로 private 변수를 변경이 가능하다.
이 메소드를 access메소드라고 한다.
'Java > Java Concept' 카테고리의 다른 글
[Java] static 변수( 클래스 변수) (0) | 2018.01.18 |
---|---|
[Java] public class (0) | 2018.01.17 |
[Java] 생성자 (0) | 2018.01.17 |
[Java] 키워드 final, final class, final method (0) | 2018.01.17 |
[Java] 클래스의 정의와 인스턴스 (0) | 2018.01.17 |