본문 바로가기
JAVA

[OOP] 캡슐화 Encapsulation

by HANdeveloper 2022. 7. 26.

▶ 캡슐화

 : 외부 클래스(객체) 에서 멤버 필드(변수) 에 접근을 막고 멤버 메쏘드에만 접근할 수있도록                               클래스를 설계하는 방법

       

- 구현 : 멤버 필드(변수) 의 접근제한자는 private 
             멤버 메소드의 접근제한자는 public 으로 함
             public ==> 어떤 외부클래스에서든지 접근가능
             private ==> 어떤 외부클래스에서든지 접근불가능

 

 정보보안이라는 가장 큰 장점이 있음

 

☆☆ Setter & Getter ☆☆

 - 클래스의 모든 변수는 private 선언을 해놓아서 클래스 내부에서만 접근이 가능

 - 접근을 위해 setter와 getter 라는 장치를 통해 내부로 접근

 - set은 입력, get은 가져오기

 -<이클립스 단축키> Alt+Shift+S 후 R

 

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
44
45
46
47
48
49
50
51
52
53
54
55
56
public class Car {
 
    private String no;   //차량번호
    private int inTime;  //입차시간
    private int outTime; //출차시간
    private int fee;     //주차요금
 
 
    public void setIpChaData(String no,int inTime) {
        this.no=no;
        this.inTime=inTime;
    }
 
    public void calculateFee() {
        this.fee=(this.outTime-this.inTime)*1000;
    }
 
    public void headerPrint() {
        System.out.println("-----------------------------------");
        System.out.printf("%s %s %s %s\n""차량번호""입차시간""출차시간""주차요금");
        System.out.println("-----------------------------------");    
    }
 
    public void print() {
        System.out.printf("%7s %7d %9d %8d\n"this.no, this.inTime, this.outTime, fee);
    }


/************Setter & Getter****************/

    public String getNo() {
        return no;
    }
    public void setNo(String no) {
        this.no = no;
    }
    public int getInTime() {
        return inTime;
    }
    public void setInTime(int inTime) {
        this.inTime = inTime;
    }
    public int getFee() {
        return fee;
    }
    public void setFee(int fee) {
        this.fee = fee;
    }
    public int getOutTime() {
        return outTime;
    }
    public void setOutTime(int outTime) {
        this.outTime=outTime;
    }
 
}
cs

댓글