티스토리 뷰
1. 캡슐화(encapsulation)
캡슐화란 데이터(속성)과 데이터를 처리하는 함수를 하나로 묶는것이다.
다시말해 객체 외부에서는 개체 내부 정보를 직접 접근하거나 조작할 수 없고, 외부에서 접근할 수 있도록 정의된 오퍼레이션을 통해서만 관련 데이터에 접근할 수 있다.(게터, 세터)
캡슐화의 장점은 객체의 세부내용이 외부에 은폐(정보은닉)되어, 변경이 발생할 때 오류발생이 적으며 재사용이 용이하다.
다시말해 객체들 간의 메시지를 주고 받을 때 각 객체의 세부 내용은 알 필요가 없으므로 인터페이스가 간결해지고, 객체간의 결합도가 낮아진다.
2. 정보 은닉(Information Hiding)
정보 은닉 이란 캡슐화에서 가장 중요한 장점이다.
다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것.
- 외부 객체가 특정 객체의 데이터화 함수를 직접 접근하여 사용하거나 변경하지 못하므로 유지보수와 소프트 웨어 확장 시 오류를 최소화할 수 있음.
캡슐화를 통한 '정보의 은폐(information hiding)'의 장점
- 객체에 포함된 정보의 손상과 오용을 막을 수 있다.
- 객체 내부의조작 방법이 바뀌어도 사용방법은 바뀌지 않는다.
- 데이터가 바뀌어도 다른 객체에 영향을 주지 않아 독립성이 유지.
- 처리된 결과만 사용하므로 객체의 이식성이 좋다.
- 객체를 부품화 할 수 있어 새로운 시스템의 구성에 부품처럼 사용 할 수 있다.
'IT > Java' 카테고리의 다른 글
[Java] 클래스를 활용한 성적 평가 예제 (0) | 2014.05.01 |
---|---|
[Java] 클래스를 활용한 계산 예제 (0) | 2014.05.01 |
[Java] String배열 연습문제. (0) | 2014.04.14 |
[Java] 0408 ~ 0411 연습문제 (0) | 2014.04.11 |
[Java] main 메소드 args[] 사용 (1) | 2014.04.04 |