본문 바로가기
반응형
SMALL

오브젝트9

03 역할,책임,협력 캡슐화의 측면에서 합성이 더 좋은 방법이다. 객체지향의 패러다임의 관점에서 핵심은 역할(role), 책임, 협력 이다. 객체지향의 본질은 협력하는 객체들의 공동체를 창조하는 것이다. 01 협력 영화 예매 시스템 돌아보기 객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용을 협력이라고 한다. 객체가 협력에 참여하기 위해 수행하는 로직은 책임이라고 부른다. 객체들이 협력 안에서 수행하는 책임들이 모여 객체가 수행하는 역할을 구성한다. 협력 -> 협력은 객체지향의 세계에서 기능을 구현할 수 있는 유일한 방법이다. 메시지 전송은 객체 사이의 협력을 위해 사용할 수 있는 유일한 커뮤니케이션 수단이다. 메시지를 수신한 객체는 메서드를 실행해 요청에 응답한다. 객체가 메시지를 처리할 방법은 스스로 선택하며.. 2023. 7. 24.
02 객체지향 프로그래밍 01 영화 예매 시스템 시스템을 구현하기 위한 요구사항은 다음과 같다. 시간대 별로 영화를 예매한다. 요금할인은 할인 정책(discount policy)과 할인 조건(discount condition) 2가지다. 할인 정책은 금액과 비율로 나눠지고 할인 조건은 기간과 순서로 나눠진다. 02 객체지향 프로그래밍을 향해 진정한 객체지향 패러다임의 전환은 객체에 초점을 맞춰야 얻는다. 첫째, 어떤 객체들이 필요한지 고민한다. 객체 중심의 접근 방법은 설계를 단순하고 깔끔하게 만든다 둘째, 객체를 협력하는 공동체의 일원으로 봐야한다. 훌륭한 협력이 훌륭한 객체를 낳고 훌륭한 클래스를 낳는다. 도메인의 구조를 따르는 프로그램 구조 도메인(domain) 이란 문제를 해결하기 위해 사용자가 프로그램을 사용하는 분야를.. 2023. 7. 23.
01.객체, 설계 티켓 판매 애플리케이션 구현하기 이벤트에 당첨됀 관람객:초대장을 티켓으로 교환한 후에 입장 이벤트에 당첨돼지 않은 관람객:티켓을 구매해야만 입장 초대장이라는 개념을 구현한 Invitation은 공연을 관람할 수 있는 초대일자(when)를 인스턴스 변수로 포함하는 간단한 클래스이다. public class Invitation { private LocalDateTime when; } 공연을 관람하기 원하는 모든 사람들은 티켓을 소지하고 있어야만 한다. public class Ticket { private Long fee; public Long getFee(){ return fee; } } 관람객이 소지품을 보관할 Bag클래스를 추가하자 Bag 클래스는 초대장(ticket), 티켓(invitation), 현금.. 2023. 7. 23.
반응형
LIST