gnu

블로그 이미지
by 군우

TAG CLOUD

  • Total hit
  • Today hit
  • Yesterday hit

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
AND

ARTICLE CATEGORY

분류 전체보기 (197)
C (0)
HTML (7)
C# (88)
Python (27)
IT (0)
Android (2)
Java (65)
Study (5)
JavaScript (1)
JSP (2)

RECENT ARTICLE

RECENT COMMENT

CALENDAR

«   2025/04   »
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

ARCHIVE

LINK