[Java] OOP_캡슐화(Encapsulation)

캡슐화(Encapsulation)

지난 포스팅 : 접근제어자

캡슐화

데이터를 보호하기 위해 접근 제어자를 사용하는 것을 말한다.

  • 관련이 있는 변수와 함수를 하나의 클래스로 묶고 외부에서 쉽게 접근하지 못하도록 정보를 은닉하는 것이 핵심*
  • 객체에 직접적 접근을 막고 외부에서 내부의 정보에 직접 접근하거나 변경할 수 없다.
  • 객체가 제공하는 필드와 메소드를 통해서만 접근 가능

Q. 캡슐화에 접근제어자를 사용하는 이유는?

A. 외부로부터 데이터를 보호하기 위해 사용한다. 외부에는 불필요한, 내부적으로만 사용되는 부분을 감추기 위해서 사용

public class Time {
    //접근제어자를 private으로 해 외부에서 직접 접근하지 못하도록 한다. 
    private int hour;
    private int minute;
    private int second;
    
    //메소드는 public 사용, 
    //이 메소드를 통해 private에 간접접근할 수 있다 
    public int getHour() {return hour;}
    public void setHour(int hour) {
    	if(hour<0 || hour>23) return;
        this.hour = hour;
    }
}

좋은 웹페이지 즐겨찾기