책임주도설계

    OOP(Object-Oriented Programming, 객체 지향 프로그래밍)이 머냐?

    객체란 무엇인가? 현실의 무언가를 표현한것이다. 즉, 현실의 개념에 대응하는게 객체이다.객체는 협력(여러 객체가 함께 참여함), 책임(객체의 역할을 잘 수행해야함), 역할(객체 마다 자신의 역할을 가짐)을 수행하며 문제를 해결한다.현실의 사물과 달리 능동적이고 자율적인 존재이다. 객체는 메시지를 통해 다른 객체에 책임을 다하라고 요구한다. 메세지를 보내는 객체는 무엇을 할지 요구하고, 어떻게 하는지는 신경쓰지 않는다. 객체는 책임을 수행하라고 요구받지만, 어떻게 처리할 지는 자율에 맡긴다. 왜냐하면 서로 다른 유형의 객체가 동일한 메세지에 대해 다르게 반응하게 하기 위함이다. 다형성을 활용하여 하나의 객체가 다양한 타입을 가질 수 있게 한다. (*다형성 : 하나의 객체가 여러가지 타입을 가질 수 있는 것..