객체, 설계 위의 코드의 문제점은 Audience와 TicketSeller가 Theater의 통제를 받는 수동적인 존재라는 점이다. 수동적인 존재라는 판단을 할 수 있는 코드는 다음과 같다. Audience : audience.getBag().hasInvitation()) TicketSeller : ticketSeller.getTicketOffice...
객체지향 프로그래밍 도메인 소프트웨어는 사용자가 원하는 어떤 문제를 해결하기 위해 만들어진다. 이처럼 문제를 해결하기 위해 사용자가 프로그램을 사용하는 분야를 도메인이라 부른다. 객체지향의 장점은 객체를 이용해 도메인의 의미를 풍부하게 표현할 수 있다는 것이다.
역할, 책임, 협력 객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용을 협력이라 한다. 객체가 협력에 참여하기 위해 수행하는 로직은 책임이라 한다. 객체들이 협력 안에서 수행하는 책임들이 모여 객체가 수행하는 역할을 구성한다. 협력 협력이란 어떤 객체가 다른 객체에 무엇인가를 요청하는 것이다. 한 객체는 어떤 것이 필요할 때 다른 ...
오브젝트 정리(01~03) 오브젝트는 "코드로 이해는 객체지향의 세계"라는 부제를 가지고 있습니다. 부제에서 알 수 있듯 오브젝트르 통해 객체지향에 대해 이해하는데 도움을 받고자 정리하고 있습니다. 객체 객체지향에 대해서 이해하려면 우선 객체가 어떤 것인지 알아야겠죠? 위키에서는 객체지향에서의 객체에 대해 위와 같이 정의합니다. 위 문장에서 주...