본문 바로가기
(Pilot) 탑기공/소프트웨어 개발

[탑기공] 객체 지향 설계 5원칙 - SOLID

by 두음달인 2023. 1. 10.
반응형


SOLID에 대해 모르시는 분이 없으실 듯한데.

 

2022.07.01 - [정보관리기술사/SW 공학] - 객체지향 설계 원칙 - "SOLID"

 

객체지향 설계 원칙 - "SOLID"

두음 및 연상 스토리 설명 SW 공학 도메인의 국민 토픽인 객체지향 설계 원칙 SOLID 해당 문제 나오면 대다수가 선택해서 풀이하기 때문에 3단표의 차별화가 중요하다 생각합니다. 설계 원칙별 정

peimsam.tistory.com


다양한 자료를 보다 보면 같은 토픽에 대해서도

생각하지 못한 관점을 보게 되거나 또는 보충 설명을 통해 더 확실하게 개념을 잡을 수 있게 되곤 합니다. 

 

지금은 시험이 한 달도 남지 않은 상황이어서 서브노트 / 키노드 열심히 돌리고 계실 텐데..

나중에 시간 될 때 공부했던 토픽에 대해서도 다양한 자료들을 한번 보길 권고합니다.


SRP(the Single Responsiblity Principal, 단일 책임의 원칙)

 

한 클래스는 하나의 책임만 가져야 한다.
하나의 클래스는 하나의 method만을 갖게 됨에 따라 수정에 대한 이유는 한 가지가 되어야 한다.

 

OCP(the Open Closed Principal, 개발 폐쇄의 원칙)

 

소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.
하나의 클래스는 수정에는 폐쇄되어 있고, 확장에는 개방되어 있어야 한다.

 

LSP(the Liskov Subsitution Principal, 리스코프 치환의 원칙)

 

프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다. 
계약에 의한 설계를 참고하라.
하위 클래스는 언제나 상위클래스로 참조가 가능한 상속과 관련된 원칙

 

ISP(the Interface Segregation Principal, 인터페이스 분리의 원칙)

 

특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.
사용자 별로 다른 방식의 인터페이스를 제공하도록 설계

 

DIP(the Dependency Inversion Principal, 의존성 역전의 원칙)

 

프로그래머는 “추상화에 의존해야지, 구체화에 의존하면 안된다.” 
의존성 주입은 이 원칙을 따르는 방법 중 하나다.
변경 가능성을 최소화하기 위하여 인터페이스를 통한 추상화를 통해 최대한 느슨하게 설계하자는 원칙

참고 자료

 

탑싯 에센스 - 소프트웨어 개발

 

SOLID (객체 지향 설계) - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

SOLID (객체 지향 설계) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 

반응형

댓글