SOLID 원칙
객체 지향 프로그래밍(OOP) 기반의 기능적이고 장기간 유지보수 가능한 소프트웨어를 만들기 위해서는 SOLID 객체 지향 프로그래밍 원칙이 필요합니다.
SOLID의 주요 원칙:
- 단일 책임 원칙 - 각 객체는 오직 하나의 책임(목표)만 가지며, 이 책임은 다시 별도의 클래스로 표현되어야 합니다. 예를 들어, 데이터베이스에서 데이터를 추출하는 것과 이후의 데이터 검증은 서로 혼합되지 않도록 별도의 클래스를 가져야 합니다.
- 개방-폐쇄 원칙 - 클래스는 새로운 작업을 추가하고 변경하는 데에는 열려 있어야 하며, 동시에 기존 코드를 변경하는 데에는 닫혀 있어야 합니다. 따라서 클래스에는 다른 모듈과 기능을 추가할 수 있지만, 원본 코드는 변경되지 않은 상태로 유지되어야 합니다.
- 리스코프 치환 원칙 - 생성된 모든 자식 클래스는 부모 클래스의 행동(수행하는 작업)을 유지하고 보여줄 수 있어야 합니다.
- 인터페이스 분리 원칙 - 큰 인터페이스는 사용자에게 불필요한 정보를 부담시키지 않도록 더 작고 집중된 인터페이스로 분리해야 합니다.
- 의존성 역전 원칙 - 상위 수준의 객체(예: 클래스)는 하위 수준의 모듈에 의존해서는 안 되지만, 모든 것은 추상화에 의존해야 합니다.