목차
참고 자료
1. SRP(단일 책임 원칙)
•
정의: 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야한다.
2. OCP(개방 폐쇄 원칙)
•
정의: 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 자신의 확장에 대해서는 열려 있어야 하지만 주변의 변화에 대해서는 닫혀 있어야 한다.
3. LSP(리스코프 치환 원칙)
•
정의: 하위 클래스의 인스턴스는 상위형 객체 참조 변수에 대입해 상위 클래스의 인스턴스 역할을 하는 데 문제가 없어야 한다.
4. ISP(인터페이스 분리 원칙)
•
정의: 클라이언트는 자신이 사용하지 않는 메서드에 의존 관계를 맺으면 안 된다.
5. DIP(의존 역전 원칙)
•
정의
◦
고차원 모듈은 저차원 모듈에 의존하면 안 된다. 이 두 모듈 모두 다른 추상화된 것에 의존해야 한다.
◦
추상화된 것은 구체적인 것에 의존하면 안 된다. 구체적인 것이 추상화된 것에 의존해야 한다.
◦
자주 변경되는 구체 클래스에 의존하지 마라.