JAVA

13일차// 접근지정자(접근제어자)

aesup 2021. 1. 27. 12:24
728x90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package main;
 
import my.MyClass;
 
public class MainClass {
     public static void main(String[] args) {
    
         
         MyClass cls = new MyClass();
         cls.name = "홍길동"//public이기 때문에 가능
         //cls.number = 1; private으로 지정되었기때문에 접근 불가능
         
         //cls.height = 172.1; protected //상속때 배움
         
         
         cls.setNumber(123);
         int number = cls.getNumber();
    }
}
cs

 

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
package my;
 
public class MyClass {
    /*
      Encapsulation == 은닉성, 캡슐화
        외부접근 제어(차단, 읽기전용, 허용여부)
      
      접근지정자
      private :  개인적인
      public: 대중적인  //외부에서 허용이 가능하다.
      protected: 보호(상속에 관련) 
     */
    
    
    // 멤버 변수는 90% private
    private int number;     //MyClass자기 구역에서만 실행된다.
    public String name;    // 외부에서도 사용이 가능하다.
    protected double height;
    
    
    //method 통해서 접근여부 결정
    //외부와 통하게 만들어주는 것 
    public void setNumber(int number) {//setter
        this.number = number;
    }
    
    public int getNumber() {//getter
        return number;
    }
    
 
}
cs

 

 

set은 외부에서 값을 설정함
get은 외부에서 값을 취득함

728x90