SOLID 유지 관리 가능하고 확장 가능하며 유연한 시스템을 만드는 데 사용되는 소프트웨어 설계의 기본 원칙 세트를 나타냅니다. SOLID 는 다음 다섯 가지 원칙의 첫 글자로 구성된 약어입니다.
에스- Single Responsibility Principle
클래스나 모듈은 하나의 책임만 가져야 합니다. 이렇게 하면 다른 기능에 영향을 주지 않고 코드를 쉽게 유지 관리하고 수정할 수 있습니다.
오- Open/Closed Principle
코드는 확장(새 기능 추가)에는 열려 있어야 하지만 수정(기존 코드를 변경하지 않음)에는 닫혀 있어야 합니다. 이는 상속, 인터페이스 또는 기타 확장 메커니즘을 사용하여 기존 코드를 수정하지 않고 새 기능을 추가하도록 권장합니다.
패- Liskov Substitution Principle
하위 클래스의 개체는 프로그램의 정확성에 영향을 주지 않고 부모 클래스의 개체로 대체할 수 있어야 합니다. 이렇게 하면 상속이 안전하고 올바르게 구현됩니다.
나- Interface Segregation Principle
많은 메서드가 있는 큰 인터페이스보다 작고 구체적인 인터페이스를 사용하는 것이 좋습니다. 이렇게 하면 클래스가 불필요한 메서드를 강제로 구현하는 것을 방지할 수 있습니다.
디- Dependency Inversion Principle
고수준 모듈은 저수준 모듈에 의존해서는 안 됩니다. 둘 다 추상화에 의존해야 합니다. 이 원칙은 종속성 주입을 사용하여 모듈 간의 긴밀한 결합을 줄이고 시스템을 더 쉽게 테스트하고 확장할 수 있도록 합니다.
SOLID 원칙은 코드 구조를 강화하고 모듈성을 촉진하며 변경과 관련된 위험을 줄입니다. 이러한 원칙은 다양한 프로그래밍 언어 및 개발 환경에 적용될 수 있습니다.