반응형
SOLID 원칙은 객체 지향 프로그래밍에서 소프트웨어 디자인을 개선하고 유지보수를 용이하게 하기 위해 제안된 다섯 가지 원칙입니다. SOLID는 다음의 다섯 가지 원칙의 머리글자를 따서 만든 약어입니다:
- S - Single Responsibility Principle (SRP):
- 단일 책임 원칙: 클래스는 하나의 책임만 가져야 하며, 그 책임을 완전히 캡슐화해야 합니다. 즉, 클래스가 변경될 이유는 오직 하나뿐이어야 한다는 원칙입니다. 이렇게 하면 클래스가 변경될 때, 그 클래스의 다른 부분에 영향을 주지 않아 코드의 유지보수가 용이해집니다.
- O - Open/Closed Principle (OCP):
- 개방-폐쇄 원칙: 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에 대해서는 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 합니다. 즉, 기존 코드를 변경하지 않고도 새로운 기능을 추가할 수 있어야 합니다
- L - Liskov Substitution Principle (LSP):
- 리스코프 치환 원칙: 서브타입은 그 기반 타입으로 대체할 수 있어야 하며, 프로그램의 정확성이 유지되어야 합니다. 즉, 서브클래스는 부모 클래스의 기능을 모두 지원해야 하며, 부모 클래스가 기대하는 동작을 충족해야 합니다.
- Interface Segregation Principle (ISP):
- 인터페이스 분리 원칙: 클라이언트는 자신이 사용하지 않는 메서드에 의존하지 않아야 합니다. 즉, 하나의 일반적인 인터페이스보다는 여러 개의 구체적인 인터페이스를 사용하는 것이 좋습니다.
- D - Dependency Inversion Principle (DIP):
- 의존성 역전 원칙: 고수준 모듈은 저수준 모듈에 의존해서는 안 되며, 둘 다 추상화에 의존해야 합니다. 즉, 구체적인 구현이 아닌 인터페이스나 추상 클래스에 의존해야 하며, 이로 인해 코드의 유연성을 높일 수 있습니다.
- 의존성 역전 원칙: 고수준 모듈은 저수준 모듈에 의존해서는 안 되며, 둘 다 추상화에 의존해야 합니다. 즉, 구체적인 구현이 아닌 인터페이스나 추상 클래스에 의존해야 하며, 이로 인해 코드의 유연성을 높일 수 있습니다.
- 결론
SOLID 원칙은 소프트웨어 디자인의 품질을 높이고 유지보수를 용이하게 하기 위해 제안된 다섯 가지 원칙입니다. 각 원칙은 객체 지향 프로그래밍에서의 설계 및 구조에 대한 가이드라인을 제공하며, 이를 통해 더 유연하고 확장 가능한 소프트웨어를 만들 수 있습니다
반응형
'전공살리기 > CS' 카테고리의 다른 글
[CS 면접 기본 - 스프링] 15. restapi 호출 시 처리과정에 대해서 알려줘 (1) | 2024.10.27 |
---|---|
[CS 면접 기본 - 자바] 14. 디자인패턴에 대해서 알려줘 (1) | 2024.10.27 |
[CS 면접 기본 - 자바] 12. Check 예외, unCheck 예외에 대해서 말해줘 (1) | 2024.10.27 |
[CS 면접 기본 - 자바] 11. JDK , JRE , JVM에 대해서 알려줘 (0) | 2024.10.27 |
[CS 면접 기본 - 자바] 10. JVM에 대해서 알려줘 (0) | 2024.10.27 |