SOLID

김지원·2023년 6월 13일
0

https://inpa.tistory.com/category/%EB%94%94%EC%9E%90%EC%9D%B8%20%ED%8C%A8%ED%84%B4/OOP

SOLID

https://velog.io/@haero_kim/SOLID-%EC%9B%90%EC%B9%99-%EC%96%B4%EB%A0%B5%EC%A7%80-%EC%95%8A%EB%8B%A4

SRP : 단일 책임 원칙

(Single Responsibility Principle)
한 클래스는 하나의 책임(역할)만

OCP : 개방 폐쇄 원칙

(Open Closed Priciple)
확장에는 open, 수정에는 close
요구사항이 변경되더라도 기존 클래스를 수정하지 말고 새로운 클래스를 만들어서
https://inpa.tistory.com/entry/OOP-%F0%9F%92%A0-%EC%95%84%EC%A3%BC-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EB%8A%94-OCP-%EA%B0%9C%EB%B0%A9-%ED%8F%90%EC%87%84-%EC%9B%90%EC%B9%99
X OCP위배
운전자
소나타 그랜저 BMW

O 이런식으로
운전자
자동차
소나타 그랜저 BMW

LSP : 리스코프 치환 원칙

부모 객체 대신 자식 객체를 호출해도 부모를 완전히 대체할 수 있게

ISP : 인터페이스 분리 원칙

자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다
특정 클라이언트를 위한 구체적인 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다
인터페이스는 최소한의 기능만 제공하고 하나의 역할에 집중
https://blog.itcode.dev/posts/2021/08/16/interface-segregation-principle
인터페이스는 다중 상속이 되니까 기능을 여러 인터페이스로 나누고 필요한 기능만 상속

DIP : 의존성 역전 원칙

구체적인 것이 추상화된 것에 의존해야함.
자주 변경되는 구체적인 클래스에 의존하면 안된다.
구현 클래스보다 상위클래스(인터페이스, 추상클래스)에 의존

심문을 왕에 만들면 왕비가 못씀
재판관에

https://inpa.tistory.com/entry/OOP-%F0%9F%92%A0-%EC%95%84%EC%A3%BC-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EB%8A%94-DIP-%EC%9D%98%EC%A1%B4-%EC%97%AD%EC%A0%84-%EC%9B%90%EC%B9%99

profile
https://github.com/k7850

0개의 댓글