SOLID 원칙은 객체 지향 프로그래밍을 설계하는데 지켜야하는 5대 원칙으로

유지 보수 가능하고 확장 가능한 소프트웨어를 만들기 위한 원칙입니다.

S,O,L,I,D 각각의 글자가 의미를 가지고 있다.

 

S: 단일 책임 원칙 (Single Responsibillity Principle)

- 하나의 클래스는 하나의 책임만 가져야 한다.

  각 클래스는 한 가지 목적을 위해 존재하고, 변경의 이유는 하나여야 한다.

 

O: 개방-폐쇄 원칙 (Open-Closed Principle)

- 확장에는 열려 있고, 수정에는 닫혀 있어야 합니다.

  기존 코드를 변경하지 않고도 새로운 기능을 추가할 수 있도록 설계되어야 합니다.

 

L: 리스코프 치환 원칙 (Liskov Substitution Principle)

- 하위 클래스는 상위 클래스의 기능을 완전히 대체할 수 있어야 합니다.

  이는 상속 관계에서 어떤 클래스든지 자신의 부모 클래스로 취급될 수 있어야 함을 의미합니다. 

 

I: 인터페이스 분리 원칙 (Interface Segregation Principle)

- 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하지 않아야 합니다.

  여러 개의 인터페이스로 분리함으로써 클라이언트는 필요한 기능에만 의존할 수 있습니다.

 

D: 의존 역전 원칙 (Dependency Inversion Principle)

 - 의존 관계는 추상화에 의존해야 하며, 구체화에는 의존해서는 안 됩니다.

즉, 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안 되며, 추상화에 의존해야 합니다.

 

사람에 따라 개발이나 코드 작성하는 스타일이 모두 다르고

위의 원칙 중 몇가지만을 선택하여 접목시키는 사람들도 더러 있다고 한다.

 

반응형