본문 바로가기

카테고리 없음

토끼책 2장 정리

' 객체지향 패러다임은 지식을 추상화하고 추상화한 지식을 객체 안에 캡슐화함으로써 실세계 문제에 내재된 복잡성을 관리하려고 한다. 객체를 발견하고 창조하는 것은 지식과 행동을 구조화하는 문제다.

 

- 레베카 위프스브

 

1. 이상한 나라의 앨리스

 

인간은 세상을 독립적이고 자율적인 객체들의 집합으로 바라본다. 실존하는 사물 뿐만 아니라 추상적인 것들도 개체화 해서 바라볼 수 있다.

 

동화책 이상한 나라의 앨리스에서 앨리스는 좁은 문을 지나가기 위헤 먹고 마시는 것을 통해 키와 몸의 크기를 조절했다.

이때 앨리스는 유동적이고 행동을 통해 상태를 조절할 수 있으 어떤 상태여도 앨리스라는 실체를 가진다.

 

앨리스를 객체로 본다면 상태 행동 식별자를 가진 실체라고 볼 수 있다. 

 

2. 상태

 

인간은 행동의 과정과 결과를 단순히 기술하기 위해 '상태'라는 개념을 만들어 냈다.

상태를 이용하면 과거의 모든 행동 이력을 설명하지 않고도 행동의 결과를 예측하고 설명할 수 있다. 

즉 과거에 얽매이지 않고 현재를 기반으로 객체를 이해할 수 있다.

 

앨리스 예시로 돌아가서 설명하자면, 키, 위치, 식음료의 양, 문의 개폐는 객체가 아니라 객체의 특성을 표현하는, 객체의 상태를 표현해 주는 것들이다.

 

Property : 객체의 상태를 구성하는 모든 정적인 특징. 객체를 구별할 수 있는 특별한 property를 식별자라고 한다.

Property value : 객체 상태의 동적인 값

 

3. 행동

 

객체는 취하는 행동에 따라 객체 자신의 상태를 변경할 수 있다.

객체의 상태가 변경된다는 것은 행동으로 부수효과를 초래한다는 것이며 객체의 상호작용 관점에서는 다른 객체의 상태를 어떤 방식으로 의존하고 변경시키는지 등의 일이 행동에서 비롯된다고 볼 수 있다.

1장에서 언급되었듯 객체는 다른 객체와 상호작용하며 협력한다.

적절한 메시지와 행동으로 협력하며 상태를 변경한다는 뜻이다.

 

행동은 상태 캡슐화와도 연관이 있다.

 객체 A는 객체 B의 값을 직접적으로 변경 시킬 수 없다. 하지만 메시지를 통해 변경에 대해 알려줄 수는 있다.

이런 부분은 현실과 다른 점으로 구분된다. 객체는 상태를 외부로 노출하지 않으며 행동만이 노출된다.

객체 접근의 유일한 방법은 행동 뿐이다.