OOP 설계 5원칙

소프트웨어 공학시간에 배우게 되는 5개의 설계 원칙에 대한 내용입니다.

1. 단일 책임의 원칙(SRP : Single Responsibility Principle)
– 한 객체는 하나의 책임을 져야 한다는 원칙으로 높은 응집도와 낮은 결합도를 기본으로 하고 있다.

2. 의존 관계 역전의 법칙(DIP : Dependency Inversion Principle)
– 클라이언트는 상세 클래스가 아닌 추상화(인터페이스, 추상클래스) 레이어에 의존해야 한다는 원칙으로, 확장 이슈가 있는 부분은 부분은 추상화를 해야 된다는 내용입니다. 

3. 인터페이스 분리의 원칙(ISP : Interface Segregation Principle)
– 클라이언트에 특화된 여러개의 인터페이스가 하나의 범용 인터페이스보다 낫다

4. 리스코프 대체 원칙(LSP : Liskov Substitution Principle)
– 상위 클래스는 파생클래스로 대체 가능해야 되는 원칙으로, 기반클래스의 기능은 파생클래스가 포함을 해야 된다는 내용입니다. 따라서, 파생클래스는 상위클래스보다 더 많은 기능을 제공을 하게 되겠습니다.  아래의 lsp.doc 파일은 전에 스터디를 하면서, C#으로 만들어본 예제입니다.
cfile3.uf.18033E194C4405976474E6.doc
5. 개방 폐쇄 원칙(Open-Closed Principle)
– 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다는 원칙으로 기존의 클래스에 수정하지 말고, 상속 또는 구현으로 확장을 해야 된다는 내용입니다.

OOP 설계 5원칙”에 대한 2개의 생각

  1. 찡구

    안녕하세요. 좋은 자료 담아갈께요 ^^!~ 제 블로그에 출처 밝히고 포스팅해가겠습니다 ~!! 원치 않으시면 제 블로그글에 댓글달아주세요~~~

    응답

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.