Java
자바 은닉화: 캡슐화 encapsulation
hs_developer
2022. 5. 24. 00:47
캡슐화는 변수와 클래스를 하나로 묶는 작업이다. 캡슐화의 중요 목적은 중요한 데이터를 보존, 보호하기 위해 사용한다. 클래스에 담는 내용 중 중요한 데이터나 기능을 외부에서 접근하지 못하게 막고 객체가 제공하는 필드와 메소드를 통해서만 접근이 가능하다.
이렇게 접근을 제한함으써 유지보수나 확장 시 오류의 범위를 최소화 할 수 있고 객체 내의 정보 손상과 오용을 방지하고 데이터가 변경되어도 다른 객체에 영향을 주지 않아 독립성이 좋다.
캡슐화 방법
1. 멤버 변수에 접근 제어자 private를 붙인다. (private: 자기 클래스에서만 접근 할 수 있는 것)
2. 멤버 변수에 값을 넣고 꺼내 올 수 있는 메소드를 만든다. (set/get 이용해 메소드를 만든다)
123
jay
public class School {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static void main(String[] args) {
School school = new School();
school.setId(123);
school.setName("jay");
System.out.println(school.getId());
System.out.println(school.getName());
}
}
위의 예제를 보면 private 접근제어자를 통해 변수를 선언했기 때문에 외부에서 접근할 수 없다. 그래서 getter/setter 메소드를 통해 변수에 값을 저장하고 가져온다.