티스토리 뷰

Etc.

SOLID 원칙이란?

skim88 2024. 12. 1. 09:00
반응형

얼마전 유튜브에서 우연히 SOLID 원칙에 대한 개념을 알게되었다. 흥미가 생겨서 좀 더 자세히 알아본다.

SOLID 원칙
SOLID 원칙


SOLID 원칙이란

객체 지향 프로그래밍에서 설계 원칙을 나타내는 다섯 가지 기본 원칙의 앞글자를 따서 만들어진 머니모닉이다. 이 원칙들은 소프트웨어를 더 견고하고 유지보수 가능하게 만들기 위한 지침이다.

1. 단일 책임 원칙 (Single Responsibility Principle, SRP)

각 클래스는 하나의 책임만 가져야 한다. 즉, 클래스는 하나의 변경 이유만 가져야 한다. 이를 통해 클래스가 간결하고 이해하기 쉬워지며, 변경 시 다른 부분에 미치는 영향을 최소화할 수 있다.

2. 개방-폐쇄 원칙 (Open-Closed Principle, OCP)

소프트웨어 엔터티(클래스, 모듈, 함수 등)는 확장 가능성은 열려 있어야 하지만 수정 가능성은 닫혀 있어야 한다. 즉, 새로운 기능을 추가할 때 기존 코드를 수정하지 않고 확장할 수 있어야 한다.

3. 리스코프 치환 원칙 (Liskov Substitution Principle, LSP)

서브 타입은 언제나 기본 타입으로 대체될 수 있어야 한다. 즉, 하위 클래스는 상위 클래스의 기능을 완전히 대체할 수 있어야 한다.

4. 인터페이스 분리 원칙 (Interface Segregation Principle, ISP)

클라이언트는 자신이 사용하지 않는 인터페이스에 의존하지 않아야 한다. 즉, 하나의 큰 인터페이스보다 여러 개의 작은 인터페이스가 더 좋다.

5. 의존 역전 원칙 (Dependency Inversion Principle, DIP)

고수준 모듈은 저수준 모듈에 의존해서는 안 되며, 둘 모두 추상화에 의존해야 한다. 즉, 추상화를 통해 모듈 간의 결합도를 낮추고 유연성을 높여야 한다.

 

SOLID 원칙을 따르면 코드가 더 모듈화되고 유연해지며, 유지보수가 더 쉬워진다.


조금 말이 어렵고 생소하지만, 앞으로 개발할 때 조금씩이라도 염두해두면서 익숙해질 수 있도록 해야겠다.

반응형
Total
Today
Yesterday
반응형