4.1캡슐화
주변을 둘러보면 모든 사물이 저마다 특성이 있다는 것을 알 수 있습니다. 그 특성을 기준으로 객체들을 분류하거나 계층을 만들 수 있습니다. 세상에 나와 똑같은 사람은 없지만 우리는 모두 ‘사람’이라는 계층(클래스)에 속합니다.
그림 6-4 사람 객체
모든 사람이 같은 특성을 가지고 있지만, 그 특성의 값은 다릅니다. 예를 들면 키, 나이, 몸무게, 성별, 인종은 모든 사람이 가지는 특성이지만, 그 값은 사람마다 다릅니다. 특성 값 하나하나가 모여 ‘나’라는 ‘객체’를 완성하는 것입니다.
또한 사람은 ‘잠자기’, ‘숨쉬기’, ‘말하기’, ‘먹기’ 같은 행동을 할 수 있습니다. 이처럼 객체는 고유의 특성 값과 행동 혹은 기능으로 표현할 수 있습니다. 이제 이 두 가지를 프로그래밍으로 가져오겠습니다. 객체가 지니는 특성 값은 변수로 나타낼 수 있고 행동 혹은 기능은 함수로 표현할 수 있습니다.