티스토리 뷰

반응형

실세계와 객체지향 목표

  • 객체지향의 목표는 실세계를 모방한 것이 아니다.
  • 새로운 세계를 창조한 것이다.
  • 가장 큰 차이는 바로 객체 스스로가 행동을 할 수 있다는 것이다.
    • 자동차가 스스로 시동을 걸고, 통장이 스스로 금액을 인출하는 세상. 객체지향의 세상

 

역할, 책임, 협력

  • 객체 지향에서 가장 중요한 개념 세가지

협력

  • 하나의 복잡한 문제를 해결할 수 있는 공동체를 형성할 수 있게 만든 것이다.

역할과 책임

  • 문제를 해결하기 위해 협력하는 과정 속에서는 각각 특정한 역할을 부여받는다.
    • 손님, 바리스타, 캐시어
  • 역할을 부여받은 역할자는 자신의 역할을 수행하기 위한 책임을 다 해야 한다.
    • 선생님은 학생들을 가르칠 책임이 있다.

역할과 책임은 협력이 원활하게 진행되는데 필요한 핵심적인 구성요소이다. 역할은 책임의 집합이다.

 

 

다형성

  • 동일한 요청을 받더라도 해당 역할을 수행하는 사람들마다 서로 다른 방식으로 요청을 처리할 수 있다.
    • 커피를 만들 때 바리스타마다 향을 진하게, 맛은 덜 쓰게 등 다른 방법으로 만들 수 있다.

 

캡슐화 맛보기

캡슐화: 객체를 기계로 묘사할 때, 사용자는 기계가 제공해주는 버튼으로만 상태를 확인하고 변경을 요청(행동)할 수 있다. 즉, 사용자는 기계에 직접적인 접근이 불가능하다는 것이다.

 

객체 지향 설계의 묘미

  • 객체를 설계할 때는, 다른 객체와 조화롭게 협력할 수 있을 만큼 충분히 개방적인 동시에 협력에 참여하는 방법을 스스로 결정할 수 있을 만큼 자율적인(요청에 따라 응답하는 절차를 스스로 판단) 객체들의 공동체를 설계해야 한다.

 

객체의 의사소통

  • 객체의 외부에서는 접근이 허락된 수단을 통해서만 객체와 의사소통해야한다.
  • 객체는 다른 객체가 무엇을 수행하는 지는 알 수 있어도, 어떻게 수행하는 지는 알 수 없다.

 

메시지와 메소드

  • 객체들은 메시지를 통해서 협력을 하되, 해당 메시지를 처리하는 구체적인 방법을 메소드라고 한다.
  • 메시지와 메소드가 분리된 것은 객체의 자율성을 높이는 핵심 메커니즘이며, 캡슐화 개념과도 연관이 되어있다.
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함