[객체지향의 사실과 오해] 39 - 71p

2021. 11. 10. 23:02
728x90

 

 

 

객체지향 패러다임의 목적은 현실 세계를 모방하는 것이 아니라 현실 세계를 기반으로 새로운 세계를 창조하는 것이다.

 

 

 

객체란 식별 가능한 개체 또는 사물이다. 구별 가능한 식별자, 특징적인 행동, 변경 가능한 상태를 가진다.

 

 

 

상태는 근본적으로 세상의 복잡성을 완화하고 인지 과부하를 줄일 수 있는 중요한 개념이다.

 

 

 

모든 객체의 상태는 단순한 값과 객체의 조합으로 표현할 수 있다. 객체의 상태를 구성하는 모든 특징을 통틀어 객체의 프로퍼티라고 한다.

 

 

 

상태는 특정 시점에 객체가 가지고 있는 정보의 집합으로 객체의 구조적 특징을 표현한다. 객체의 상태는 객체에 존재하는 정적인 프로퍼티와 동적인 프로퍼티 값으로 구성된다. 객체의 프로퍼티는 단순한 값(속성)과 다른 객체를 참조하는 링크로 구분할 수 있다.

 

 

 

객체는 스스로의 행동에 의해서만 상태가 변경되는 것을 보장함으로써 객체의 자율성을 유지한다.

 

 

 

행동이란 외부의 요청 또는 수신된 메시지에 응답하기 위해 동작하고 반응하는 활동이다. 행동의 결과로 객체는 자신의 상태를 변경하거나 다른 객체에게 메시지를 전달할 수 있다. 객체는 행동을 통해 다른 객체와의 협력에 참여하므로 행동은 외부에 가시적이어야 한다.

 

 

 

상태를 외부에 노출시키지 않고 행동을 경계로 캡슐화하는 것은 결과적으로 객체의 자율성을 높인다.

 

 

 

시스템을 설계할 때는 단순한 값과 객체의 차이점을 명확하게 구분하고 명시적으로 표현하는 것이 매우 중요하다.

 

 

 

식별자란 어떤 객체를 다른 객체와 구분하는 데 사용하는 객체의 프로퍼티이다.

 

 

 

객체는 상태를 가지며 상태는 변경 가능하다.
객체의 상태를 변경시키는 것은 객체의 행동이다. 
 - 행동의 결과는 상태에 의존적이며 상태를 이용해 서술할 수 있다.
 - 행동의 순서가 실행 결과에 영향을 미친다.
객체는 어떤 상태에 있더라도 유일하게 식별 가능하다.

 

 

 

상태를 먼저 결정하고 행동을 나중에 결정하는 방법은 설계에 나쁜 영향을 끼친다.

 

 

 

객체는 다른 객체와 협력하기 위해 존재한다. 객체의 행동은 객체가 협력에 참여하는 유일한 방법이다.

 

 

 

객체의 적합성을 결정하는 것은 상태가 아니라 행동이다.

 

 

 

객체의 행동은 결국 객체가 협력에 참여하면서 완수해야 하는 책임을 의미한다.

 

 

 

행동이 상태를 결정한다.

 

 

 

소프트웨어 객체에 대한 현실 객체의 은유를 효과적으로 사용할 경우 표현적 차이를 줄일 수 있으며, 이해하기 쉽고 유지보수가 용이한 소프트웨어를 만들 수 있다. 이러한 이유로 모든 객체지향의 지침서에는 현실 세계인 도메인에서 사용되는 이름을 객체에게 부여하라고 가이드하는 것이다.

 

 

 

 

 

객체지향의 사실과 오해 - 교보문고

역할, 책임, 협력 관점에서 본 객체지향 | 현재의 소프트웨어 개발에 있어 가장 중요한 패러다임이 객체지향이라는 사실에 대부분 이견이 없을 것이다. 절차형 패러다임을 접목한 C++나 함수형

www.kyobobook.co.kr

 

 

728x90

BELATED ARTICLES

more