SOLID 원칙

태그
OOP
날짜
2023/07/26
2 more properties

SOLID : 객체 지향 프로그래밍의 5대 원칙

1.
SRP (Single Responsibility Principle, 단일 책임 원칙)
클래스는 단 하나의 책임만 가져야 한다.
클래스가 변경될 때, 다른 부분에 영향을 끼치지 않도록 하여야 한다.
Example
2.
OCP (Open-Closed Principle, 개방-폐쇄 원칙)
소프트웨어 요소는 확장에 열려 있어야 한다.
클래스나 모듈은 확장에 열려있으나, 수정에는 닫혀있어야 한다.
기존의 코드를 변경하지 않고, 새로운 기능을 추가할 수 있도록 설계해야 한다.
Example
3.
LSP (Liskov Substitution Principle, 리스코프 치환 원칙)
서브 타입은 언제나 기반 타입으로 대체할 수 있어야 한다.
상속 관계에서 부모 클래스를 대체하는 자식 클래스가 예상대로 동작하도록 한다.
Example
4.
ISP (Interface Segregation Principle, 인터페이스 분리 원칙)
객체는 자신이 호출하지 않는 메소드에 의존하지 않아야 한다.
객체를 기준으로 인터페이스를 분리하여야 한다.
Example
5.
DIP (Dependency Inversion Principle, 의존성 역전 원칙)
객체는 저수준 모듈보다, 고수준 모듈에 의존해야 한다.
고수준 모듈 : 인터페이스와 같은 객체의 형태나 추상적 개념
저수준 모듈 : 구현된 객체
객체는 객체보다 인터페이스에 의존해야 한다.
→ 객체의 상속은 인터페이스를 통해 이루어져야 한다
Example