본문 바로가기

협력3

협력, 역할, 책임의 관점에서 바라본 객체지향 세계 객체지향 개발을 하는 사람이라면 누구나 이해해야할 개념이 있다. 바로 협력,역할,책임이다. 오늘은 협력, 역할, 책임의 관점에서 객체지향을 어떻게 잘 설계할 수 있을지를 글로 작성해보려 한다. 협력 개체지향 세계는 동일한 목적을 달성하기 위해 객체끼리 서로 협력하는 세상이다. 여기서 나오는 협력이라는 단어는 객체지향 설계를 논할때 가장 중요한 요소 중 하나이다. 협력은 여러가지의 요청과 응답에 의해 이루어진다. 여기서 각 요청과 응답은 서로 연결된 채 유지된다. 즉 , 서로 관계를 맺는다는 얘기다. 요청과 응답은 서로 관계를 맺으며 객체가 수행할 책임을 명확하게 만든다. 어떤 대상에 대해 어떠한 요청을 한다면 요청을 받은 대상은 해당 요청을 처리할 책임이 주어진다. 이렇게 객체가 다른 객체에게 책임을 수.. 2022. 10. 10.
객체 바로알기 - 협력, 행동, 상태, 식별자 객체지향 세계는 실세계와 유사하다. 허나 면밀히 살펴보면 기이한 세상이다. 객체지향 세계에서 객체는 단순히 실세계를 모방하고 추상화한 존재가 아니다. 하나하나가 생명이 부여되어 살아 숨시고 있다. 모든 사물이 영화 아이언 맨의 '자비스'처럼 스스로 생각하고 해동한다. 객체지향 세계에서 객체는 실세계의 객체보다 훨씬더 많은 능력과 특성을 보유하고 있다. 오늘은 이 객체에 대해 면밀히 살펴보도록 하겠다. 객체지향 세계에서 객체는 식별이 가능한 개체나 사물을 뜻한다. 객체는 컴퓨터, 키보드같은 사물이 될 수도 있고 사랑, 우정 같은 추상적인 개념이 될 수도 있다. 객체는 구별가능한 식별자, 객체만의 특징을 가진 행동, 행동에 따라 변경되는 상태로 구성된다. 객체를 행동, 상태 그리고 식별자의 관점에서 살펴보자.. 2022. 9. 14.
객체지향 설계 - 책임, 역할, 협력 개발 관련 일을 한지 5년정도 되다보니, 이제는 구현뿐만 아니라 설계적인 능력도 중요하게 되었다. 요즘 하나의 기능을 추가해도 깔끔하게 설계를 한 뒤에 프로그래밍하는 것이 습관이 되었다. 오늘은 객체지향 설계의 가장 중요한 요소인 책임, 역할, 협력의 관점에서 어떻게 설계를 해야할 지를 풀어나가 볼 예정이다. 대학생 때, 교수님 한분이 그런 말씀을 하셨다. "객체지향은 실세계를 모방하여 구현하는 것이 아니라 새로운 세계를 창조하는 것이다." 예전에 이말이 참 이해가 안되었는데, 실무를 경험하다 보니 조금은 이해가 된다. 객체지향은 말그대로 실세계를 조금 참고하여, 새로운 세계를 만들어내는 것이다. 우리는 실세계의 다양한 부분을 통해 객체지향의 기본 사상을 이해하고 학습한다. 객체지향 세계에서 모든 일은 .. 2022. 9. 6.