-
[Java] 캡슐화, 은닉화프로그래밍/JAVA 2022. 8. 6. 11:43728x90
캡슐화는 관련있는 변수와 함수를 하나로 묶어 중요한 데이터를 보존, 보호하는 것으로 실제로 구현되는 부분을 외부에 드러나지 않도록 갭슐로 감싸 이용방법만 알려준다.
은닉화는 내부 데이터, 내부 연산을 외부에서 접근하지 못하도록 은닉 혹은 격리시키는 것으로 변수에 접근제한자를 private로 지정하고 setter, getter 메소드를 사용하여 변수의 접근을 제어한다.
public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
위 코드는 getter, setter를 사용하여 은닉화를 적용한 모습이다. 멤버변수에 private 접근자를 사용하여 직접적으로 접근하는 것을 막고 멤버변수에 접근하기 위해서 getter, setter 메소드를 사용한다.
✔ 은닉화, 캡슐화는 차이
은닉화 : 객체의 필드에 직접적으로 접근하지 못하도록 막는다.(private, (getter, setter)메소드의 특성을 사용)
캡슐화 : getter, setter 메소드를 사용하면 이 메소드들이 어떠한 역할을 하는지 예측 가능하기 때문에 메소드 이름을 추상적으로 명명하여 사용자가 이 메소드의 내부 로직을 예측할 수 없도록한다.
728x90'프로그래밍 > JAVA' 카테고리의 다른 글
[Java] final, static 제어자 (0) 2022.08.07 [Java] 접근 제어자 (0) 2022.08.07 [Java] 메소드(method)(2) (0) 2022.08.06 [Java] 메소드(method)(1) (0) 2022.08.06 [Java] 필드(field) (0) 2022.08.06