정보처리기사[실기]

[개념정리] 객체지향 설계 원칙(SOLID)

microsaurs 2024. 10. 15. 16:19

💡SOLID 원칙

단일 책임의 원칙
SRP (Single Presponsibility Principle)
하나의 클래스는 하나의 목적을 위해서 생성되며, 클래스가 제공하는 모든 서비스는
하나의 책임을 수행하는데 집증되어 있어야 한다는 원칙
객체 지향 프로그래밍 5원칙 중 나머지 4원칙의 기초 원칙이다.
개방 폐쇄 원칙
OCP (Open Close Principle)
소프트웨어의 구성요소(컴포넌트, 클래스, 모듈, 함수)는
확장에는 열려있고, 변경에는 닫혀있어야 한다는 원칙
리스코프 치환의 원칙
LSP (Liskov Substitution Principle)
서브 타입(상속받은 하위 클래스)은 어디서나 자신의 기반 타입(상위 클래스)으로 교체할 수 있어야 한다는 원칙
인터페이스 분리의 원칙
ISP (Interface Segregation Principle)
한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다는 원칙
객체 설계 시 특정 기능에 대한 인터페이스는 그 기능과 상관없는 부분이 변해도 영향을 
받지 않아야 한다는 원칙
의존성 역전의 원칙
DIP (Dependency Inversion Principle)
실제 사용 관계는 바뀌지 않으며 추상을 매개로 메시지를 주고 받음으로써 관계를 최대한
느슨하게 만드는 원칙