Whiteship's Note

'추상화'에 해당되는 글 1건

  1. 2006.12.09 캡슐화

캡슐화

Design Pattern : 2006.12.09 23:39


캡슐화는 보통 Encapsulation이라는 단어를 한글로 대체 할 때 사용을 하고 있습니다. 객체의 데이터들을 숨긴다는 것을 뜻합니다. 하지만 좀더 추상적인 의미로 추상화라는 단어를 생각해 보면 다른 모습들을 생각해 볼 수 있습니다.

A circle with an inner circle filled with items, surrounded by gray wedges representing methods that allow access to the inner circle.

출처 : http://java.sun.com/docs/books/tutorial/java/concepts/object.html

위 그림은 데이터를 캡슐화 한 것이며 가장 일반적으로 생각하는 캡슐화의 모습입니다.

이렇게 데이터만 캡슐화 하는 것이 아니라 메소드의 일부분을 캡슐화 할 수도 있습니다. 자주 변화하는 부분만을 다른 클래스로 따로 빼내는 것이 바로 그런 캡슐화가 아닌가 생각해봅니다. 그리고 아마도 그림으로 표현하면 다음과 같을 것입니다.

사용자 삽입 이미지

자주 변하는 부분을 다른 클래스로 빼냄으로 해서 기존의 클래스는 변화에 닫힐 가능성이 높아지고 그럼으로 해서 OCP원칙에 한발작 다가서게 됩니다. 그리고 조금더 캡슐화를 추상화 시키면 Inner Class가 떠오릅니다. Class안에서 특정 Class를 캡슐화 하고 있는 모습이 바로 Inner Class와 잘 매칭 된다고 생각합니다.


ps : 그림이 너무 허접하네요.. ㅠ.ㅠ 방학때 포토샵도 살짝 공부할 예정이오니 아마 차후에는 그림 실력이 조금 나아질 것 같습니다. ㅎㅎ

'Design Pattern' 카테고리의 다른 글

객체지향 디자인 원칙  (2) 2006.12.11
Losely Coupled를 활용하라.  (0) 2006.12.11
상속보다는 구성을 활용한다.  (0) 2006.12.11
바뀌는 부분을 캡슐화 한다.  (0) 2006.12.11
State Pattern 예제  (2) 2006.12.10
캡슐화  (0) 2006.12.09
H.F. Design Pattern 트집잡기  (4) 2006.12.09
Design Pattern 기말고사  (0) 2006.12.08
Template Method Pattern을 사용하는 QuickSorting  (0) 2006.12.08
Simple Factory  (4) 2006.11.13
Principle of Least Knowledge  (4) 2006.11.11
top