728x90
소프트웨어 모듈(함수, 클래스)이 가져야 할 3가지 기능은 무엇일까?
- 필요한 기능이 오류없이 제대로 동작하는 것
- 변경에 용이한 코드
- 누가 읽어도 이해하기 쉬운 코드(동작이 우리의 상식 또는 예측에서 크게 벗어나지 않는 코드)
기능을 모듈화하는 이유
- 모듈의 재사용을 위해서
객체지향 패러다임: 협력, 책임, 역할
도메인: 음료 주문 시스템
협력이란?
- 협력은 객체 간의 상호작용을 통해서 이뤄진다.
- 객체 간의 상호작용은 메시지를 통해서만 가능하다.
작은 단위로 쪼개진 기능 목록
- 주문 받기
- 주문 결제 금액 계산
- 커피 제조
- 커피 전달
책임이란?
협력에 참여하기 위해서 객체가 맡고있는 전체 기능 정의서
작성중..
728x90
'디자인 패턴 > OOP' 카테고리의 다른 글
OOP의 4가지 특징 (0) | 2023.06.09 |
---|---|
SOLID (좋은 객체 지향 설계의 5가지 원칙) (0) | 2023.06.07 |
인터페이스와 다형성(polymorphism) 그리고 추상클래스 (0) | 2023.06.07 |