객체지향 프로그래밍(OOP)의 장점을 극대화하기 위해서는 올바른 설계가 필수적이다. OOP의 핵심 개념을 기반으로 프로그램을 어떻게 설계해야 하는지 살펴보자. 💡 객체지향 설계 과정요구사항 분석: 제공해야 할 기능을 정의하고, 주요 액터와 사용 시나리오를 정리한다.도메인 모델 설계: 주요 개체(객체)를 식별하고, 객체 간 관계를 정의한다.객체의 책임 분배: 객체의 역할을 분리하고, 협력 구조를 결정한다.클래스 및 인터페이스 설계: 추상화, 상속, 인터페이스를 활용하여 구조를 설계한다.객체 간 메시지 흐름 설계: 시퀀스 다이어그램을 통해 동작 방식을 정의한다.구현 및 리팩토링: 설계한 구조를 코드로 변환하고, SOLID 원칙을 적용하여 개선한다. 1. 단일 책임 원칙 (SRP, Single Respons..