본문 바로가기

책/오브젝트15

03. 역할, 책임, 협력 03. 역할, 책임, 협력태그비어 있음객체지향 패러다임의 관점에서 핵심은 역할, 책임, 협력이다.애플리케이션의 기능을 구현하기 위해 어떤 협력이 필요하고 협력을 위해 어떤 역할과 책임이 필요한 지를 고민하지 않은 채 너무 이른 시기에 구현에 초점을 맞추는 것은 변경하기 어렵고 유연하지 못한 코드를 낳는 원인이 된다. 협력협력은 객체지향의 세계에서 가능을 구현할 수 있는 유일한 방법이다. 두 객체 사이의 협력은 하나의 객체가 다른 객체에게 도움을 요청할 때 시작된다. 객체의 행동을 결정하는 것은 객체가 참여하고 있는 협력이다.객체의 협력이 행동을 결정하고, 행동이 상태를 결정한다. 책임책임이란 객체에 의해 정의되는 응집도 있는 행위의 집합으로, 객체가 유지해야 하는 정보와 수행할 수 있는 행동에 대해 개략.. 2025. 3. 17.
02. 객체지향 프로그래밍 02 객체지향 프로그래밍태그비어 있음영화 예매 시스템특정한 조건을 만족하는 예매자는 요금을 할인 받을 수 있다.객체지향 프로그래밍을 향해객체지향 프로그램을 작성할 때 어떤 클래스가 필요한지를 고민하는 것은 객체지향의 본질과 거리가 있다. 클래스가 아닌 객체에 초점을 맞추어 어떤 객체가 필요할지 고민해야 한다. 그리고 객체를 독립적인 존재가 아니라 기능을 구현하기 위한 협력적인 존재로 보아야 한다. 자율적인 객체클래스를 구현할 때 가장 중요한 것은 클래스의 경계를 구분 짓는 일이다. 캡슐화와 접근 제어는 객체를 퍼블릭 인터페이스(외부에서 접근 가능)와 구현(내부에서만 접근 가능)으로 나눈다. 인터페이스와 구현의 분리 원칙은 훌륭한 객체지향 프로그램을 만들기 위해 따라야 하는 핵심 원칙이다.프로그래머의 자.. 2025. 3. 17.
01. 객체, 설계 01. 객체, 설계태그비어 있음✅ 티켓 판매 어플리케이션 구현하기✅ 무엇이 문제인가예상을 빗나가는 코드 변경에 취약한 코드 ✅ 설계 개선하기자율성을 높이자TicketSeller 캡슐화 : Theater 코드를 TicketSeller로 이동Audience 캡슐화 : TicketSeller의 코드를 Audience로 이동무엇이 개선됐는가?어떻게 한 것인가?캡슐화와 응집도절차지향과 객체지향책임의 이동더 개선할 수 있다.✅ 객체지향 설계객체지향 설계프로그래밍 패러다임이란 특정 시대의 어느 성숙한 개발자 공동체에 의해 수용된 프로그래밍 방법과 문제 해결 방법, 프로그래밍 스타일이다. 우리가 어떤 프로그래밍 패러다임을 사용하느냐에 따라 우리가 해결할 문제를 바라보는 방식과 프로그램을 작성하는 방법이 달라진다.프로그.. 2025. 3. 17.