객체지향 5원칙(SOLID)

조현근·2022년 11월 11일
0

SRP(단일 책임 원칙)

객체는 오직 하나의 책임을 가져야 한다.

OCP(개방-폐쇄 원칙)

객체는 확장엔 열려있어야 하고 수정엔 닫혀있어야 한다.

LSP(리스코프 치환 원칙)

자식 클래스는 언제나 부모 클래스를 대체할 수 있어야 한다.

ISP(인터페이스 분리 원칙)

목적과 관심이 각기 다른 클라이언트가 있다면 인터페이스를 적절하게 분리해라
즉, 클라이언트의 목적과 용도에 적합한 인터페이스만을 제공해라

DIP(의존성 역전 원칙)

고수준 모듈(변경이 없는 추상화된 클래스 또는 인터페이스)은 저수준 모듈(변하기 쉬운 구체 클래스)의 구현에 의존해서는 안 되며, 저수준 모듈이 고수준 모듈에서 정의한 추상 타입에 의존해야 한다.

결론

결국 객체지향을 잘 하기 위해선 추상화를 통한 다형성을 잘 이용하고, 객체에 책임을 잘 할당하고 분배해야된다. 를 강조한 원칙인거 같다.
다형성을 이용하면 실제 구현체가 바뀌더라도 추상타입을 사용했기에 코드 변경이 적고 응집도 높게 변경이 필요한 부분만 손 보면 될 것이다.
책임을 잘 할당하고 분배했으면 변경이 하나의 객체에서만 일어나 변경에 유연하게 대처할 수 있을 것이다.

출처

https://mangkyu.tistory.com/194

profile
안녕하세요!

0개의 댓글