[TDD/방법론] SOLID클래스 설계 원칙

nana·2024년 9월 7일

방법론

목록 보기
5/9

SOLID 클래스의 설계 원칙

1990년대 중반 로버트 마틴은 객체 지향 클래스 설계에 관한 다섯가지 원칙을 모아서 유지 보수 가능한 객체 지향 시스템을 제작하는 최상의 지침을 제공했다.
마이클 패더스는 2000년 초, 이 원칙들에 SOLID라는 약어를 붙였다.

✔️ 단일 책임 원칙([S]RP)

클래스는 변경할 때 한 가지 이유만 있어야 한다. 클래스는 작고 단일 목적을 추구한다.

✔️ 개방 폐쇄 원칙([O]CP)

클래스는 확장에 열려엤고 변경에는 닫혀있어야 한다.
기존 클래스의 변경을 최소화 해야한다.

✔️ 리스코프 치환 원칙([L]SP)

하위 타입은 반드시 상위 타입을 대체할 수 있어야한다.
클라이언트 입장에서 오버라이딩한 메서드가 기능을 깨면 안 된다.

✔️ 인터페이스 분리 원칙([I]SP)

클라이언트는 필요하지 않는 메서드에 의존하면 안 된다.
커다란 인터페이스를 다수의 작은 인터페이스로 분할한다.

✔️ 의존성 역전 원칙([D]IP)

고수준 모듈은 저수준 모듈을 의존해서는 안 된다.
둘 다 추상 클래스에 의존해야 한다.
추상클래스는 구체 클래스에 의존해서는 안 된다.
구체 클래스는 추상 클래스에 의존해야 한다.

profile
BackEnd Developer, 기록의 힘을 믿습니다.

0개의 댓글