SOLID는 객체 지향 프로그래밍과 설계에서 널리 사용되는 다섯 가지 설계 원칙을 의미합니다. 이 원칙들은 소프트웨어의 유지보수성, 확장성, 유연성을 향상시키기 위해 고안되었으며, SOLID 원칙은 다음과 같습니다:
- Single Responsibility Principle (SRP) - 단일 책임 원칙:
- 클래스는 하나의 책임만 가진다, 클래스가 변경되어야 하는 이유는 단 하나뿐이어야 한다.
- 각 클래스가 하나의 기능 또는 책임을 가지도록 설계하여 코드의 응집도를 높이고, 변경 관리가 용이하게 한다.
- Open/Closed Principle (OCP) - 개방/폐쇄 원칙:
- 소프트웨어 구성 요소는 확장에는 열려 있고, 수정에는 닫혀 있어야 한다.
- 기존 코드를 수정하지 않고도 새로운 기능을 추가할 수 있도록 설계한다.
- Liskov Substitution Principle (LSP) - 리스코프 치환 원칙:
- 자식 클래스는 언제나 부모 클래스를 대체할 수 있어야 한다.
- 상속받은 클래스는 부모 클래스의 인터페이스를 준수하고, 부모 클래스의 기능을 그대로 유지하면서 확장해야 한다.
- Interface Segregation Principle (ISP) - 인터페이스 분리 원칙:
- 클라이언트는 자신이 사용하지 않는 메서드에 의존하지 않아야 한다.
- 하나의 일반적인 인터페이스보다 특정 클라이언트에 특화된 여러 개의 인터페이스를 만드는 것이 더 좋다.
- Dependency Inversion Principle (DIP) - 의존성 역전 원칙:
- 고수준 모듈은 저수준 모듈에 의존해서는 안 되며, 둘 다 추상화에 의존해야 한다.
- 추상화는 구체적인 것에 의존해서는 안 되며, 구체적인 것은 추상화에 의존해야 한다.
Share article