본문 바로가기

CS

[CS] SOLID 원칙

SOLID 원칙은 객체지향 설계에서 유지보수성과 확장성을 높이기 위한 다섯 가지 핵심 원칙입니다.

 

단일 책임 원칙

SOLID에서 가장 중요한 첫 번째 원칙, 클래스 또는 함수가 오직 한 가지만 책임집니다.

다르게 말하자면 하나의 큰 클래스를 만들기보다는 여러 개의 작은 클래스를 만드는 편이 좋다는 것입니다 .

 

개방-폐쇄 원칙

클래스가 확장에는 개방적이되 수정에는 폐쇄적이어야 합니다.

원본 코드를 수정하지 않고도 새로운 동작을 생성할 수 있도록 클래스를 구조화하세요.

어떻게? 인터페이스와 추상화를 이용해서 

 

리스코프 치환 원칙

파생된 클래스가 기본 클래스로 대체될 수 있어야 합니다.

파생 클래스에만 있는 기능을 인터페이스 또는 별도 클래스로 옮겨 합성하세요.

 

인터페이스 분리 원칙

어떠한 클라이언트도 자신이 사용하지 않는 메서드에 강제로 종속될 수 없습니다

단일 책임 원칙과 같이 인터페이스의 길이를 짧게 유지하고 컴팩트한 인터페이스를 유지하세요.

 

종속성 역전 원칙

상위 수준의 모듈이 하위 수준의 모듈에서 어떤 것도 직접 가져오면 안 됩니다.

상위에서 하위클래스를 의존하지말고 추상화에 의존해야 합니다.

여기서 상하위클래스란 상속관계가 아니라 다른 클래스를 생성하거나 호출하면 그 클래스는 호출한 클래스의 하위클래스가 됩니다.

'CS' 카테고리의 다른 글

[CS] 컴퓨터 구조와 CPU  (0) 2023.01.17
[어셈블리] 스택 메모리  (0) 2022.06.18
[어셈블리] 배열  (0) 2022.06.18
[어셈블리] 반복문  (0) 2022.06.18
[어셈블리] 분기문  (0) 2022.06.18