[UI/UX] SOLID 원칙이란?

해피몬·2024년 8월 4일
post-thumbnail

SOLID 원칙이란? 🤔

SOLID 원칙은 소프트웨어 설계에서 유지보수와 확장성을 높이기 위해 권장되는 객체지향 설계 원칙의 집합임. 소프트웨어 개발에서 발생할 수 있는 다양한 문제를 해결하고, 더 읽기 쉽고, 유지보수가 쉬우며, 유연한 코드를 작성할 수 있도록 돕는 가이드라인임.

SOLID는 다섯 가지 원칙의 첫 글자를 따서 만든 약어로, Single Responsibility Principle (단일 책임 원칙), Open/Closed Principle (개방/폐쇄 원칙), Liskov Substitution Principle (리스코프 치환 원칙), Interface Segregation Principle (인터페이스 분리 원칙), Dependency Inversion Principle (의존 역전 원칙)으로 구성됨.

SOLID 원칙의 다섯 가지 구성 요소 🌟

단일 책임 원칙 (Single Responsibility Principle - SRP)

단일 책임 원칙은 클래스나 모듈은 하나의 책임만 가져야 한다는 원칙임. 즉, 하나의 클래스는 오직 하나의 기능만 수행하도록 설계되어야 함. 이를 통해 코드의 결합도가 낮아지고 유지보수와 확장성이 높아짐.

개방/폐쇄 원칙 (Open/Closed Principle - OCP)

개방/폐쇄 원칙은 클래스는 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다는 원칙임. 즉, 기존 코드를 변경하지 않고 새로운 기능을 추가할 수 있도록 설계하는 것이 목표임.

리스코프 치환 원칙 (Liskov Substitution Principle - LSP)

리스코프 치환 원칙은 하위 클래스는 상위 클래스의 행동을 대체할 수 있어야 한다는 원칙임. 즉, 상위 클래스 객체를 하위 클래스 객체로 치환해도 프로그램의 행동이 달라지지 않아야 함.

인터페이스 분리 원칙 (Interface Segregation Principle - ISP)

인터페이스 분리 원칙은 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하지 않아야 한다는 원칙임. 즉, 필요한 기능만 포함된 인터페이스를 만들어 각 클래스가 최소한의 책임만 가지도록 하는 것임.

의존 역전 원칙 (Dependency Inversion Principle - DIP)

의존 역전 원칙은 고수준 모듈이 저수준 모듈에 의존하지 말고, 둘 다 추상화에 의존해야 한다는 원칙임. 즉, 구현이 아닌 추상화에 의존함으로써 의존성을 줄이고 코드 변경에 유연하게 대처할 수 있음.

SOLID 원칙의 장점과 중요성 🌈

SOLID 원칙은 유지보수성과 확장성을 고려한 객체지향 프로그래밍을 지향함으로써, 코드가 더 읽기 쉽고 유연하게 설계될 수 있도록 돕음. SOLID 원칙을 잘 적용하면 변경에 강하고 재사용성이 높은 소프트웨어를 작성할 수 있으며, 팀 간의 협업과 코드의 장기적인 유지보수가 쉬워짐.

SOLID 원칙의 장점

  • 유지보수성: 코드를 쉽게 수정할 수 있고, 오류 발생 시 디버깅이 용이함.
  • 확장성: 새로운 기능을 추가할 때 기존 코드를 변경하지 않아도 됨.
  • 재사용성: 각 클래스가 독립적인 책임을 가지기 때문에 재사용하기 용이함.
  • 협업 효율성: 명확한 책임 분리를 통해 협업 시 충돌을 최소화할 수 있음.
profile
슬기로운개발생활🤖

0개의 댓글