[OOP] 객체 지향 5대 원칙 - SOLID

Jae Eon·2021년 5월 16일
0

백엔드 공부

목록 보기
4/17

들어가며

객체 지향 5대 원칙인 SOLID 원칙을 정리하기 위한 포스트 입니다.


SOLID 란?

객체지향 설계 5대 원칙이라고도 부르며 SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), DIP(의존 역전 원칙)의 앞자를 따서 SOILD 원칙이라고 부른다.

1. SRP

  • 단일 책임 원칙 (Single Responsiblity Principle)
    모든 클래스는 각각 하나의 책임만 가져야 한다. 클래스는 그 책임을 완전히 캡슐화해야 함을 말한다.

2. OCP

  • 개방-폐쇄 원칙 (Open Closed Principle)
    확장에는 열려있고 수정에는 닫혀있는. 기존의 코드를 변경하지 않으면서( Closed), 기능을 추가할 수 있도록(Open) 설계가 되어야 한다는 원칙을 말한다.
    인터페이스를 생성하여 확장에는 열려있고 인터페이스는 수정되지않는 것으로 적용 할 수있다

3. LSP

  • 리스코프 치환 원칙 (Liskov Substitution Principle)
    자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있다는 원칙이다. 즉 부모 클래스가 들어갈 자리에 자식 클래스를 넣어도 계획대로 잘 작동해야 한다.

4. ISP

  • 인터페이스 분리 원칙 (Interface Segregation Principle)
    한 클래스는 자신이 사용하지않는 인터페이스는 구현하지 말아야 한다. 하나의 일반적인 인터페이스보다 여러개의 구체적인 인터페이스가 낫다.

5. DIP

  • 의존 역전 원칙 (Dependency Inversion Principle)
    의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 것이다. 한마디로 구체적인 클래스보다 인터페이스나 추상 클래스와 관계를 맺으라는 것이다.

Solid의 더 자세한 설명 및 적용사례

profile
🖋정리를 안하면 잊어버린다.👣한 발자국씩 가보자!

0개의 댓글