공부/OOP

객체지향의 5대 원칙

셩잇님 2023. 1. 15. 18:36
반응형

 

 

1. 객체 지향의 5대 원칙의 개념

SOLID 원칙이라고 알려진 이 원칙은 로버트 마틴(Robert Martin)이 <Clean Code>라는 책에서 객체 지향 프로그래밍 및 설계의 다섯 가지 원칙을 SOLID라는 약어로 소개한 것입니다. 

 

2. 객체 지향의 5대 원칙

객체 지향 설계의 다섯 가지 기본 원칙은 다음과 같습니다.

1. S (SRP : Single Responsibility Principle)

클래스는 변경할 이유가 하나만 있어야 합니다. 즉, 하나의 책임만 있어야 합니다.

2. O (개방/폐쇄 원칙(Open/Closed Principle))

클래스는 확장에는 열려 있어야 하지만 수정에는 닫혀 있어야 합니다.

즉, 기존 코드를 수정하지 않고도 새로운 기능을 포함하도록 확장할 수 있어야 합니다.

3. L (Liskov 대체 원칙(Liskov's Substitution Principle))

파생 클래스는 기본 클래스를 대체할 수 있어야 합니다.

즉, 프로그램의 정확성에 영향을 주지 않고 상위 클래스의 개체를 하위 클래스의 개체로 대체할 수 있어야 합니다.

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

클래스는 사용하지 않는 인터페이스를 구현하도록 강요해서는 안 됩니다.

즉, 클래스는 특정 역할과 관련된 메서드를 구현하는 데만 필요해야 합니다.

5. D (DIP(Dependency Inversion Principle))

고수준 모듈은 저수준 모듈에 의존해서는 안 되지만 둘 다 추상화에 의존해야 합니다.

즉, 구현 세부 사항에서 추상화가 분리되는 방식으로 코드를 구성해야 합니다.

이러한 원칙은 객체 지향 시스템의 설계를 안내하여 시스템을 보다 유지 관리, 확장 가능하고 이해하기 쉽게 만들기 위한 것입니다. 이러한 원칙을 따르면 코드베이스를 변경하고 이해하기 쉬워 버그 가능성이 줄어들고 코드가 더욱 강력해집니다.

 

 

 

반응형