본문 바로가기

DEV

[DEV] SOLID원칙이란?

회사 세미나 주제중 솔리드 원칙이라는게 나왔다. 

개발을 하면서 한번 쯤은 들어봤을, 전공생이라면 더더욱 들어봤을 원칙인데

SOLID법칙 즉, 솔리드 법칙은 객체지향 프로그래밍에서 사용되는 다섯가지 원칙의 약어로
소프트웨어의 유지보수, 확장성, 재사용성, 테스트 용이성을 위해 개발된 원칙이라고 한다.

 

1. SRP ( Single Responsibility Principle )

단일 책임 원칙이라고 불리는 원칙인데 하나의 클래스는 한 가지 책임만 가져야 한다는 원칙

 

2. OCP (Open-Closed Principle )

개방-폐쇄  원칙이라고 불리는 원칙이며 소프트웨어의 구성 요소는 확장에는 열려있어나 하지만 변경에는 닫혀있어야 된다는 원칙

기존의 코드를 변경하지 않아도 새로운 기능을 추가할수 있어야 된다는 이야기 입니다.

 

3. LSP ( Liscov Substitution Principle )

리스코프 치환 원칙이라고 불리는 원칙으로 하위 클래스는 상위 클래스의 기능을 대체할수 있어야된다는 원칙

 

4. ISP ( Interface Segregation Principle ) 

인터페이스 분리 원칙이라고 불리며 클러이언트가 사용하지 않는 메서드에 의존하지 않는다는 원칙

 

5. DIP ( Dependency Inversion Principle )

의존역전 원칙이라고 불리며 고차원 수준의 모듈은 저차원 수준의 모듈에 의존하지 않아야된다는 이야기 이며,

모두가 인터페이스 또는 추상클래스가 아닌 추상화에 의존해야 된다는 이야기이다. 

 

 


추가로 솔리드와 함께 많이 나오는 원칙인 dry, kiss, yagni도 있는데,
일전에 포스팅 한 글이 있으니 같이 봐도 좋을것 같습니다.

https://takd.tistory.com/entry/KISS-DRY-YAGNI-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C-3%EB%8C%80-%EC%9B%90%EC%B9%99

 

KISS, DRY, YAGNI - 소프트웨어 개발 3대 원칙

1. DRY DRY는 Don’t Repeat Yourself의 줄임말로 같은 기능이 반복되는 코드를 작성하지 말라는 뜻입니다. 2. YAGNI YAGNI는 YouAin't Gonna Need It 의 줄임말로 불필요하게 확장을 고려한 개발을 하지 말라는 이

takd.tistory.com

 

반응형

'DEV' 카테고리의 다른 글

[DEV] KISS, DRY, YAGNI - 소프트웨어 개발 3대 원칙  (2) 2023.02.27