architecturesolidoop
SOLID 원칙 - 객체지향 설계 원칙
조회 0
SOLID는 객체지향 설계의 5가지 원칙으로, 유지보수 가능한 코드를 작성하는 가이드라인입니다.
이 글에서는 각 원칙의 의미와 실무 적용 방법을 정리합니다.
1. Single Responsibility Principle (SRP)
하나의 클래스는 하나의 책임만 가져야 합니다.
// ❌ 나쁜 예
class User {
save() {}
sendEmail() {}
generateReport() {}
}
// ✅ 좋은 예
class User {
// 사용자 데이터만 관리
}
class EmailService {
sendEmail() {}
}
class ReportGenerator {
generateReport() {}
}
2. Open/Closed Principle (OCP)
확장에는 열려있고 수정에는 닫혀있어야 합니다.
interface PaymentMethod {
pay(amount: number): void;
}
class CreditCardPayment implements PaymentMethod {
pay(amount: number): void {}
}
// 새로운 결제 방법 추가 시 기존 코드 수정 없이 확장
class PayPalPayment implements PaymentMethod {
pay(amount: number): void {}
}