SOLID 원칙
- 객체 지향 설계의 기반이 되는 원칙
- 잘 지키면, 더욱 구조화되며 유지보수성이 증대됨
- SRP(Sing Responsibility Principle) : 단일 책임 원칙
- 클래스는 한 가지 기능 혹은 역할만 가져야 한다.
- 왜? 코드의 응집도와 유지보수성 향상
- OCP(Open/closed Principle) : 개방-폐쇄 원칙
- 확장에는 개방
- 변경에는 폐쇄
- 즉, 기존의 코드를 변경하지 않고, 새로운 기능을 추가할 수 있어야 한다.
- 어떻게? 인터페이스와 추상화를 활용
- LSP(Liskov Substitution Principle) : 리스코프 치환 원칙
- 상위 타입은 하위 타입으로 대체 가능해야 한다.
- 즉, 부모 클래스를 사용하는 코드는 자식 클래스를 사용해도 정상 동작해야 함
- 왜? 다형성을 보장하고, 일관된 동작을 유지하기 위해
- ISP(Interface Segregation Principle) : 인터페이스 분리 원칙
- 자신이 사용하지 않는 인터페이스에 의존하지 않아야 함
- 즉, 인터페이스는 작은 단위로 분리되어야 함
- 왜? 인터페이스의 명확성, 응집도 향상 + 시스템의 유연성, 이해도 향상
- DIP(Dependency Inversion Principle) : 의존관계 역전 원칙
- 사용자가 상위 모듈(인터페이스)로만 사용할 수 있도록 상위 모듈은 하위 모듈에 의존하면 안됨
- 왜? 상위 모듈이 하위 모듈에 의존할 경우, 하위 모듈에 수정이 있을 때 마다, 클라이언트와 상위 모듈도 수정해주어야 하니까 (유지보수성 저하)
'CS' 카테고리의 다른 글
[컴퓨터구조] 캐시 메모리 (0) | 2024.03.10 |
---|---|
[컴퓨터구조] 총정리 (0) | 2024.03.10 |
운영체제 - 프로세스와 스레드 (0) | 2024.03.10 |
운영체제 정리! -2 (0) | 2024.03.10 |
자료 구조 - 트리 구조 정리 (0) | 2024.03.07 |